package com.ruoyi.ems.mapper;

import com.ruoyi.ems.domain.ElecStoreH;
import com.ruoyi.ems.model.ElecStoreSta;
import com.ruoyi.ems.model.QueryMeter;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 储能计量-小时Mapper接口
 *
 * @author ruoyi
 * @date 2024-08-09
 */
public interface EmsElecStoreHMapper {
    /**
     * 查询储能计量-小时
     *
     * @param id 储能计量-小时主键
     * @return 储能计量-小时
     */
    ElecStoreH selectStoreHById(Long id);

    /**
     * 查询储能统计-按日期汇总
     *
     * @param date 日期
     * @return 统计结果
     */
    ElecStoreSta selectStoreHSumDate(@Param("date") String date);

    /**
     * 查询储能统计-按小时汇总
     *
     * @param date 日期
     * @return 统计结果
     */
    List<ElecStoreSta> selectStoreHSumHour(@Param("date") String date);

    /**
     * 查询储能计量-小时列表
     *
     * @param elecStoreH 储能计量-小时
     * @return 储能计量-小时集合
     */
    List<ElecStoreH> selectStoreHList(ElecStoreH elecStoreH);


    ElecStoreH selectStoreHByDataRange(ElecStoreH elecStoreH);


    /**
     * 查询储能计量-日列表
     *
     * @param queryMeter 参数
     * @return 储能计量-日集合
     */
    List<ElecStoreH> selectStoreDayList(QueryMeter queryMeter);

    /**
     * 查询储能计量-小时列表(全部区域)
     *
     * @param elecStoreH 储能计量-小时
     * @return 储能计量-小时集合
     */
    List<ElecStoreH> selectStoreHAllArea(ElecStoreH elecStoreH);

    /**
     * 新增储能计量-小时
     *
     * @param elecStoreH 储能计量-小时
     * @return 结果
     */
    int insertStoreH(ElecStoreH elecStoreH);

    /**
     * 修改储能计量-小时
     *
     * @param elecStoreH 储能计量-小时
     * @return 结果
     */
    int updateStoreH(ElecStoreH elecStoreH);

    /**
     * 删除储能计量-小时
     *
     * @param id 储能计量-小时主键
     * @return 结果
     */
    int deleteStoreHById(Long id);

    /**
     * 批量删除储能计量-小时
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteStoreHByIds(Long[] ids);
}
