package com.pqs9900.service.linedata;

import com.njcn.pojo.commons.runmanage.IntergralityData;
import com.njcn.pojo.commons.runmanage.OnlineRateData;
import com.pqs9900.pojo.linedata.*;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * system
 *
 * @author cdf
 * @date 2021/11/3
 */
public interface TerminalRunService {

    /**
     * 新增
     * @author cdf
     * @date 2021/11/3
     */
    Integer addForRun(TerminalRun terminalRun);

    /**
     * 新增
     * @author cdf
     * @date 2021/11/3
     */
    Integer updateForRun(TerminalRun terminalRun);


    /**
     * 新增
     * @author cdf
     * @date 2021/11/3
     */
    TerminalRun queryForRun(String dicIndex);

    /**
     * 查询告警策略
     * @author cdf
     * @date 2021/11/3
     */
    List<TerminalRun> queryListForRun();

    /**
     * 告警策略
     * @author cdf
     * @date 2021/11/3
     */
    Integer deleteForRun(String dicIndex);

    //运行管理---》终端在线率数据查询展示
    List<OnlineRateData> getOnlineRate(Date startTime, Date endTime,Integer lineGrade,Integer colorFlag);

    //运行管理--》监测点数据完整性
    IntergralityData getDataIntegralityTable(Date startTime, Date endTime,Integer lineGrade,Integer colorFlag);

    /**
     * 终端运行异常页面列表初始化
     * @author cdf
     * @date 2021/11/9
     */
    List<TopView> getRunExceptionList(Date beginTime, Date endTime, Integer lineGrade);

    /**
     * 终端运行异常页面详情
     * @author cdf
     * @date 2021/11/9
     */
    List<TopException> getRunExceptionDetail(Date timeId,Integer lineGrade);

    TopException getRunExceptionDetailById(Date timeId,Integer devIndex);

    /**
     * 获取单个监测点的数据完整性
     * @author dhj
     * @date 2021/12/07
     */
    List<DataIntegralityStatis> getDataIntegralityStatis(Long lineId, String startTime, String endTime);

    /**
     * @Author denghuajun
     * @Description
     * @Date 19:45 2020/12/07
     */
    String socketonIntegrityData( String type, Long LineId,String startTime ,String endTime);


    /**
     * 获取onlineRateCld主列表
     * @author cdf
     * @date 2021/12/16
     */
    List<OnlineRateCldRVO> getOnlineRateCldList(Date startTime,Date endTime,Integer lineGrade,Integer colorFlag);
}
