Files
klp-oa/klp-ems/src/main/java/com/klp/ems/service/IEmsEnergyConsumptionService.java

99 lines
3.0 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.klp.ems.service;
import com.klp.ems.domain.vo.EmsEnergyConsumptionVo;
import com.klp.ems.domain.bo.EmsEnergyConsumptionBo;
import com.klp.ems.domain.bo.EmsEnergyConsumptionQueryBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.klp.ems.domain.vo.EnergyChainRatioVo;
import com.klp.ems.domain.vo.SummaryDailyVo;
import com.klp.ems.domain.vo.SummaryMonthlyVo;
import com.klp.ems.domain.vo.YearOnYearVo;
import com.klp.ems.domain.vo.ChainAnalysisVo;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 能耗记录Service接口
*
* @author Joshi
* @date 2025-09-28
*/
public interface IEmsEnergyConsumptionService {
/**
* 查询能耗记录
*/
EmsEnergyConsumptionVo queryById(Long energyConsumptionId);
/**
* 查询能耗记录列表
*/
TableDataInfo<EmsEnergyConsumptionVo> queryPageList(EmsEnergyConsumptionBo bo, PageQuery pageQuery);
/**
* 查询能耗记录列表
*/
List<EmsEnergyConsumptionVo> queryList(EmsEnergyConsumptionBo bo);
/**
* 新增能耗记录
*/
Boolean insertByBo(EmsEnergyConsumptionBo bo);
/**
* 修改能耗记录
*/
Boolean updateByBo(EmsEnergyConsumptionBo bo);
/**
* 校验并批量删除能耗记录信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
List<SummaryDailyVo> getEnergySummaryDaily(String month);
List<SummaryMonthlyVo> getEnergySummaryMonthly(String year);
/**
* 过滤版:按能耗类型/设备/区域(含子区域)聚合
*/
EnergyChainRatioVo getEnergyChainRatioFiltered(EmsEnergyConsumptionQueryBo queryBo);
/**
* 近期能耗趋势过滤版month 按天、year 按月
*/
List<SummaryDailyVo> getEnergySummaryDailyFiltered(EmsEnergyConsumptionQueryBo queryBo);
List<SummaryMonthlyVo> getEnergySummaryMonthlyFiltered(EmsEnergyConsumptionQueryBo queryBo);
/** 同比分析:传入 year返回当年与上一年逐月汇总可过滤 */
YearOnYearVo getYearOnYear(EmsEnergyConsumptionQueryBo queryBo);
/** 环比分析periodType=day/week/month/year + dateKey可过滤 */
ChainAnalysisVo getChainAnalysis(EmsEnergyConsumptionQueryBo queryBo);
/**
* 获取设备的上次抄表记录(用于自动填充起始数据)
* @param meterId 设备ID
* @return 上次抄表记录如果没有则返回null
*/
EmsEnergyConsumptionVo getLastReadingForMeter(Long meterId);
/**
* 获取设备本月的累计消耗量
* @param meterId 设备ID
* @return 本月累计消耗量如果没有则返回0
*/
Double getMonthlyConsumption(Long meterId);
/**
* 获取能耗统计信息
* @param bo 查询条件
* @return 统计信息(总记录数、总消耗量、平均消耗量、最大消耗量等)
*/
Map<String, Object> getStatistics(EmsEnergyConsumptionBo bo);
}