package com.inspect.metadata.eqpbook.service;

import com.inspect.metadata.area.domain.BaseDataArea;
import com.inspect.metadata.eqpbook.domain.BasedataEqpBook;
import com.inspect.metadata.eqpbook.domain.vo.BasedataAreaEquTreeVo;
import com.inspect.metadata.eqpbook.domain.vo.BasedataEqpBookTreeQueryFilterVo;
import com.inspect.metadata.eqpbook.domain.vo.PatrolResult;
import com.inspect.metadata.eqpbook.domain.vo.ResultAnalysis;
import com.inspect.metadata.montdata.domain.BasedataMontPatDevStaData;
import com.inspect.metadata.patrolpointmnt.domain.BasedataPatrolPoint;
import com.inspect.base.core.web.domain.AjaxResult;

import java.io.InputStream;
import java.util.List;
import java.util.Map;

public interface IBasedataEqpBookService {
    BasedataEqpBook selectBasedataEqpBookByEqpBookId(Long eqpBookId);

    List<BasedataEqpBook> selectBasedataEqpBookList(BasedataEqpBook eqpBook);

    int insertBasedataEqpBook(BasedataEqpBook eqpBook);

    int updateBasedataEqpBook(BasedataEqpBook eqpBook);

    int deleteBasedataEqpBookByEqpBookIds(Long[] eqpBookIds);

    int deleteBasedataEqpBookByEqpBookId(Long eqpBookId);

    List<BasedataEqpBook> getUavList();

    List<BasedataAreaEquTreeVo> getAreaEquTreeList(BaseDataArea baseDataArea);

    List<BasedataAreaEquTreeVo> selectBasedataEqpbookOnlineList(BasedataEqpBookTreeQueryFilterVo filterVo);

    int synPatrolEqpFromGwbMedia();

    int synPatrolEqpChannelFromGwbMedia();

    String checkEqpBookCodeUnique(BasedataEqpBook eqpBook);

    String checkEqpBookNameUnique(BasedataEqpBook eqpBook);

    BasedataEqpBook selectBasedataEqpBookByPatrolDeviceCode(String deviceCode);

    void loadingEqpBookCache();

    void setSendServiceMap(String key);

    void setSendService(String service);

    AjaxResult uploadPicMap(InputStream inputStream, String key, String value);

    List<Map<String, Integer>> deviceNumList();

    List<String> deviceStatusList();

    List<BasedataMontPatDevStaData> deviceStatusListInfo(BasedataMontPatDevStaData data);

    List<String> deviceOlinList();

    List<String> alarmList();

    List<PatrolResult> alarmListInfo(ResultAnalysis resultAnalysis);

    List<String> abnormalList();

    List<PatrolResult> abnormalListInfo(ResultAnalysis resultAnalysis);

    Map<String, Integer> deviceOnlineCount();

    Map<String, Integer> deviceOnlineCountByType(String type);

    List<BasedataPatrolPoint> getSubtypeData(BasedataPatrolPoint patrolPoint);

    Map<String, Object> selectDevInfoById(String id);

    Map<String, String> selectPointInfoById(String id);

    List<Map<String, Object>> selectBasePointByPointId(String pointId);

    List<Map<String, Object>> selectBasePointPre(String key);

    String queryEqpBookCode(String key);
}
