package com.ruoyi.ems.mapper;

import com.ruoyi.ems.domain.ElecLoadIndex;
import com.ruoyi.ems.model.QueryIndex;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电力负荷设施指标Mapper接口
 *
 * @author ruoyi
 * @date 2024-09-27
 */
public interface ElecLoadIndex15minMapper {
    /**
     * 查询电力负荷设施指标
     *
     * @param id 电力负荷设施指标主键
     * @return 电力负荷设施指标
     */
    ElecLoadIndex selectIndexById(Long id);

    /**
     * 查询最新电力负荷设施指标
     *
     * @param areaCode 区域代码
     * @param objType  对象类型
     * @param objCode  对象代码
     * @return 电力负荷设施指标
     */
    ElecLoadIndex selectNewIndex(@Param("areaCode") String areaCode, @Param("objType") String objType,
        @Param("objCode") String objCode);

    /**
     * 查询电力负荷设施指标列表
     *
     * @param queryIndex 查询条件
     * @return 电力负荷设施指标集合
     */
    List<ElecLoadIndex> selectIndexList(QueryIndex queryIndex);

    /**
     * 查询电力负荷设施指标（最大负荷）
     *
     * @param queryIndex 查询条件
     * @return 电力负荷设施指标集合
     */
    ElecLoadIndex selectIndexMaxLoad(QueryIndex queryIndex);

    /**
     * 查询每日电力负荷设施指标（最大负荷）
     *
     * @param queryIndex 查询条件
     * @return 电力负荷设施指标集合
     */
    List<ElecLoadIndex> selectDayIndexMaxLoad(QueryIndex queryIndex);

    /**
     * 新增电力负荷设施指标
     *
     * @param loadIndex 电力负荷设施指标
     * @return 结果
     */
    int insertIndex(ElecLoadIndex loadIndex);

    /**
     * 修改电力负荷设施指标
     *
     * @param loadIndex 电力负荷设施指标
     * @return 结果
     */
    int updateIndex(ElecLoadIndex loadIndex);

    /**
     * 删除电力负荷设施指标
     *
     * @param id 电力负荷设施指标主键
     * @return 结果
     */
    int deleteIndexById(Long id);

    /**
     * 批量删除电力负荷设施指标
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteIndexByIds(Long[] ids);
}
