package com.huatek.busi.service;

import java.net.UnknownHostException;
import java.util.List;
import java.util.Map;

import com.github.pagehelper.PageInfo;
import com.huatek.busi.common.SiteConstants.SiteTreeEnum;
import com.huatek.busi.dto.BusiEqmWarningDto;
import com.huatek.busi.vo.BusiHomeInfoVo;
import com.huatek.busi.vo.BusiHomePageVo;
import com.huatek.busi.vo.MeteorologicalVo;
import com.huatek.busi.vo.warning.BusiHomePageWarningVo;

/**
 * @ClassName: BusiHomePageService
 * @FullClassPath: com.huatek.busi.service.BusiHomePageService
 * @Description: 主页面服务.
 * @author: Arno
 * @date: Jul 25, 2019 2:48:54 PM
 * @version: 1.0
 */
public interface BusiHomePageService {

    /**
     * 根据设备类型获取变压器外挂设备列表
     * 
     * @param equipmentType
     *            设备类型
     * @return BusiHomePageVo
     */
    List<BusiHomePageVo> findTransfromerlist(String equipmentType);
    
    List<BusiHomePageVo> findArresterlist(String equipmentType);

    /**
     * 获取变压器设备首页展示详细数据
     * 
     * @param mainTreeId
     * @param subTreeId
     * @param subEquipmentId
     * @param equipmentType
     * @param sensorId
     * @return
     */
    BusiHomeInfoVo findTransfromerInfo(String mainTreeId,
        String subTreeId, 
        String subEquipmentId,
        SiteTreeEnum siteTreeEnum,
        String equipmentType,
        String sensorId);

    /**
     * 按时间获取最近的告警列表
     * 
     * @param busiEqmWarningDto
     *            BusiEqmWarningDto
     * @return 告警列表
     */
    PageInfo<BusiHomePageWarningVo> findCurrentWarningList(BusiEqmWarningDto busiEqmWarningDto);

    PageInfo<BusiHomePageWarningVo> findCurrentWarningBySensorCodeList(BusiEqmWarningDto busiEqmWarningDto);

    public  boolean verifyDongle() throws UnknownHostException;

    /**
     * 首页默认获取避雷器气象信息
     * @return
     */
    MeteorologicalVo queryMeteorologicalInfo();

    Map<String, List<BusiHomeInfoVo>> getIndicatorsMap(String mainEqmType,String mainTreeId);
}
