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

99 lines
3.0 KiB
Java
Raw Normal View History

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