feat(ems): 新增能耗统计分析功能

- 新增环比分析、同比分析接口与实现
- 支持按设备、能源类型、区域(含子区域)过滤统计
- 实现日、周、月、年维度的数据汇总与对比计算
- 扩展 Mapper 层支持带设备列表的时间区间查询
- 新增多个 VO 类用于封装分析结果数据结构
- 完善 Controller 接口接收过滤参数并调用服务层
-优化区域递归查找逻辑以支持层级结构查询
- 提供工具方法处理空值与比率计算
- 添加新的 BO 类用于传递查询与范围参数
- 更新配置文件注释但未启用新路由规则
This commit is contained in:
JR
2025-09-30 18:46:57 +08:00
parent 29c0c7bb73
commit c927ce247b
14 changed files with 562 additions and 27 deletions

View File

@@ -1,6 +1,7 @@
package com.klp.ems.mapper;
import com.klp.ems.domain.EmsEnergyConsumption;
import com.klp.ems.domain.bo.TimeRangeWithMetersBo;
import com.klp.ems.domain.vo.EmsEnergyConsumptionVo;
import com.klp.common.core.mapper.BaseMapperPlus;
import com.klp.ems.domain.vo.SummaryDailyVo;
@@ -20,4 +21,18 @@ public interface EmsEnergyConsumptionMapper extends BaseMapperPlus<EmsEnergyCons
List<SummaryDailyVo> selectDailySummary(@Param("startDate") String startDate, @Param("endDate") String endDate);
List<SummaryMonthlyVo> selectMonthlySummary(@Param("year") String year);
/**
* 统计某个时间区间的用能合计
*/
Double sumConsumptionBetween(String startTime, String endTime);
/**
* 统计某个时间区间、指定设备集合的用能合计
*/
Double sumConsumptionBetweenWithMeters(TimeRangeWithMetersBo range);
List<SummaryDailyVo> selectDailySummaryWithMeters(TimeRangeWithMetersBo range);
List<SummaryMonthlyVo> selectMonthlySummaryWithMeters(TimeRangeWithMetersBo range);
}

View File

@@ -3,6 +3,9 @@ package com.klp.ems.mapper;
import com.klp.ems.domain.EmsMeter;
import com.klp.ems.domain.vo.EmsMeterVo;
import com.klp.common.core.mapper.BaseMapperPlus;
import com.klp.ems.domain.bo.MeterFilterBo;
import java.util.List;
/**
* 计量设备阈值移至此处Mapper接口
@@ -12,4 +15,8 @@ import com.klp.common.core.mapper.BaseMapperPlus;
*/
public interface EmsMeterMapper extends BaseMapperPlus<EmsMeterMapper, EmsMeter, EmsMeterVo> {
/**
* 根据可选条件筛选计量设备ID列表
*/
java.util.List<Long> selectMeterIds(MeterFilterBo filter);
}