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){