package com.ruoyi.ems.service;

import com.ruoyi.ems.domain.EnergyMeter;
import com.ruoyi.ems.domain.WaterMeterH;
import com.ruoyi.ems.model.QueryMeter;

import java.util.List;

/**
 * 用水计量-小时Service接口
 *
 * @author ruoyi
 * @date 2024-12-03
 */
public interface IWaterMeterHService {
    /**
     * 新增用电计量-小时
     *
     * @param list 用电计量-小时
     * @return 结果
     */
    int insertBatch(List<WaterMeterH> list);

    /**
     * 新增用水计量-小时
     *
     * @param waterMeterH 用水计量-小时
     * @return 结果
     */
    int insertWaterMeterH(WaterMeterH waterMeterH);

    /**
     * 修改用水计量-小时
     *
     * @param waterMeterH 用水计量-小时
     * @return 结果
     */
    int updateWaterMeterH(WaterMeterH waterMeterH);

    /**
     * 删除用水计量-小时信息
     *
     * @param date 日期
     * @return 结果
     */
    int deleteWaterMeterHByDate(String date);

    /**
     * 查询最近的一条记录
     *
     * @param deviceCode 设备编码
     * @return 用电计量-小时集合
     */
    WaterMeterH selectLatelyItem(String deviceCode);

    EnergyMeter qryWaterMeterByDate(String dataRange, String areaCode);

    List<WaterMeterH> qryTimeIndexWaterMeterByDay(String dataRange, Integer timeIndex);

    List<WaterMeterH> qryDateWaterMeterByDay(String dataRange);

    List<WaterMeterH> qryDateWaterMeterByYear(String dataRange);

    EnergyMeter selectWaterDayAvg(QueryMeter queryMeter);
}
