Browse Source

1、优化定时器:数据分析,楼层能耗分析。

dev_mz
25604 7 hours ago
parent
commit
065e8df394
  1. 27
      mh-quartz/src/main/java/com/mh/quartz/task/HotWaterTask.java
  2. 2
      mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java
  3. 7
      mh-system/src/main/java/com/mh/system/mapper/energy/HotEnergyQueryMapper.java
  4. 1
      mh-system/src/main/java/com/mh/system/service/energy/IEnergyQueryService.java
  5. 12
      mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java

27
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;
}
}
/**
* 定时计算水箱水位插入到存储表中
*/

2
mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java

@ -236,6 +236,7 @@ public interface CollectionParamsManageMapper extends BaseMapper<CollectionParam
" or cpm.param_type = '13') " +
" and csr.floor_id = #{floorId} " +
" and cpm.system_type = #{systemType}" +
" and hi.house_name is not null " +
" order by hi.house_name, cpm.param_type ")
List<Map<String, Object>> selectBySystemTypeAndBuildingId(@Param("systemType") String systemType,
@Param("floorId") String floor_id);
@ -297,6 +298,7 @@ public interface CollectionParamsManageMapper extends BaseMapper<CollectionParam
" csr.floor_id = #{floorId} " +
" and cpm.system_type = #{systemType} " +
" and cpm.is_use = 0 " +
" and hi.house_name is not null " +
" order by dl.order_num ")
List<HotWaterControlListVO> selectHotWaterBySystemTypeAndBuildingId(@Param("systemType") String systemType,
@Param("floorId") String floorId);

7
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<String, Object> calcAnalysisDataMonth(String lastHourTime);
@Select("SELECT pro_analysis_year(#{lastHourTime}); ")
Map<String, Object> calcAnalysisDataYear(String lastHourTime);
}

1
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);
}

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

Loading…
Cancel
Save