package com.ruoyi.ems.base.mapper;

import java.util.List;
import com.ruoyi.ems.base.domain.EmsBaseMonitorInfo;

/**
 * 计量设备信息Mapper接口
 *
 * @author Yinq
 * @date 2024-05-08
 */
public interface EmsBaseMonitorInfoMapper
{
    /**
     * 查询计量设备信息
     *
     * @param objId 计量设备信息主键
     * @return 计量设备信息
     */
    public EmsBaseMonitorInfo selectEmsBaseMonitorInfoByObjId(Long objId);

    /**
     * 查询计量设备信息列表
     *
     * @param emsBaseMonitorInfo 计量设备信息
     * @return 计量设备信息集合
     */
    public List<EmsBaseMonitorInfo> selectEmsBaseMonitorInfoList(EmsBaseMonitorInfo emsBaseMonitorInfo);

    /**
     * 新增计量设备信息
     *
     * @param emsBaseMonitorInfo 计量设备信息
     * @return 结果
     */
    public int insertEmsBaseMonitorInfo(EmsBaseMonitorInfo emsBaseMonitorInfo);

    /**
     * 修改计量设备信息
     *
     * @param emsBaseMonitorInfo 计量设备信息
     * @return 结果
     */
    public int updateEmsBaseMonitorInfo(EmsBaseMonitorInfo emsBaseMonitorInfo);

    /**
     * 删除计量设备信息
     *
     * @param objId 计量设备信息主键
     * @return 结果
     */
    public int deleteEmsBaseMonitorInfoByObjId(Long objId);

    /**
     * 批量删除计量设备信息
     *
     * @param objIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEmsBaseMonitorInfoByObjIds(Long[] objIds);

    /**
     * 根据设备编码查询本设备的能源类型
     * @param monitorCode
     * @return
     */
    public String selectEmsBaseMonitorTypeByMonitorCode(String monitorCode);

    /**
     * 获取指定能源类型的设备数量。
     * @param energyType 需要查询的能源类型。
     * @return 返回指定能源类型的数量。
     */
    public int getMonitorCountByEnergyType(String energyType);
}
