From 065e8df3942ed61bc70debd016d9e277853294b7 Mon Sep 17 00:00:00 2001 From: 25604 Date: Thu, 3 Jul 2025 11:46:34 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=98=E5=8C=96=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E5=99=A8=EF=BC=9A=E6=95=B0=E6=8D=AE=E5=88=86=E6=9E=90=EF=BC=8C?= =?UTF-8?q?=E6=A5=BC=E5=B1=82=E8=83=BD=E8=80=97=E5=88=86=E6=9E=90=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mh/quartz/task/HotWaterTask.java | 27 +++++++++++++++++++ .../device/CollectionParamsManageMapper.java | 2 ++ .../mapper/energy/HotEnergyQueryMapper.java | 7 +++++ .../service/energy/IEnergyQueryService.java | 1 + .../energy/impl/EnergyQueryServiceImpl.java | 12 +++++++++ 5 files changed, 49 insertions(+) diff --git a/mh-quartz/src/main/java/com/mh/quartz/task/HotWaterTask.java b/mh-quartz/src/main/java/com/mh/quartz/task/HotWaterTask.java index 480fb3c..068991a 100644 --- a/mh-quartz/src/main/java/com/mh/quartz/task/HotWaterTask.java +++ b/mh-quartz/src/main/java/com/mh/quartz/task/HotWaterTask.java @@ -54,6 +54,33 @@ public class HotWaterTask { // 计算水箱水位 private boolean calcWaterLevelState = false; + // 计算数据分析 + private boolean calcAnalysisState = false; + + /** + * 定时数据分析 + * @param lastHourTime + */ + public void calcAnalysisData(String lastHourTime) { + try { + if (!calcAnalysisState) { + calcAnalysisState = true; + if (StringUtils.isEmpty(lastHourTime)) { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime lastHour = now.minusHours(1); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + lastHourTime = lastHour.format(formatter); + } + energyQueryService.calcAnalysisData(lastHourTime); + } + } catch (Exception e) { + log.error("计算数据分析", e); + calcAnalysisState = false; + } finally { + calcAnalysisState = false; + } + } + /** * 定时计算水箱水位,插入到存储表中 */ diff --git a/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java b/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java index bc384a2..4174aa7 100644 --- a/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java +++ b/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java @@ -236,6 +236,7 @@ public interface CollectionParamsManageMapper extends BaseMapper> selectBySystemTypeAndBuildingId(@Param("systemType") String systemType, @Param("floorId") String floor_id); @@ -297,6 +298,7 @@ public interface CollectionParamsManageMapper extends BaseMapper selectHotWaterBySystemTypeAndBuildingId(@Param("systemType") String systemType, @Param("floorId") String floorId); diff --git a/mh-system/src/main/java/com/mh/system/mapper/energy/HotEnergyQueryMapper.java b/mh-system/src/main/java/com/mh/system/mapper/energy/HotEnergyQueryMapper.java index 012fbf9..8e98541 100644 --- a/mh-system/src/main/java/com/mh/system/mapper/energy/HotEnergyQueryMapper.java +++ b/mh-system/src/main/java/com/mh/system/mapper/energy/HotEnergyQueryMapper.java @@ -115,4 +115,11 @@ public interface HotEnergyQueryMapper { @Param("endDate") String endDate, @Param("deviceType") String deviceType, @Param("tableName") String tableName); + + @Select("SELECT pro_analysis_month(#{lastHourTime}); ") + Map calcAnalysisDataMonth(String lastHourTime); + + @Select("SELECT pro_analysis_year(#{lastHourTime}); ") + Map calcAnalysisDataYear(String lastHourTime); + } diff --git a/mh-system/src/main/java/com/mh/system/service/energy/IEnergyQueryService.java b/mh-system/src/main/java/com/mh/system/service/energy/IEnergyQueryService.java index 57d6880..ac55f09 100644 --- a/mh-system/src/main/java/com/mh/system/service/energy/IEnergyQueryService.java +++ b/mh-system/src/main/java/com/mh/system/service/energy/IEnergyQueryService.java @@ -52,4 +52,5 @@ public interface IEnergyQueryService { List queryAnalysisMonth(String curDate, String buildingId, int type); + void calcAnalysisData(String lastHourTime); } diff --git a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java index e679ff8..1d58f8a 100644 --- a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java +++ b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java @@ -70,6 +70,18 @@ public class EnergyQueryServiceImpl implements IEnergyQueryService { @Resource AnalysisMapper analysisMapper; + @Override + public void calcAnalysisData(String lastHourTime) { + try { + // 月数据分析 + hotEnergyQueryMapper.calcAnalysisDataMonth(lastHourTime); + } catch (Exception e) { + throw new RuntimeException(e); + } + // 年数据分析 + hotEnergyQueryMapper.calcAnalysisDataYear(lastHourTime); + } + @Override public List queryAnalysisYear(String curDate, String buildingId, int type) { if (type==1){