99 lines
3.0 KiB
Java
99 lines
3.0 KiB
Java
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);
|
||
}
|