package com.tofly.xrtygis.custom.service.dma;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tofly.xrtygis.entity.Dmatable;
import com.tofly.xrtygis.entity.Dmatablechange;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * @author 20126
 */
public interface CustomDmaTableService {


    /**
     * 添加表信息
     * @param dmatable 区域表管理信息表
     * @return boolean
     */
    boolean insertTableInfo(Dmatable dmatable);

    /**
     * 修改表信息
     * @param dmatable 区域表管理信息表
     * @return boolean
     */
    boolean updateTableInfo(Dmatable dmatable);

    /**
     * 删除表信息
     * @param ids id
     * @return boolean
     */
    boolean deleteTableInfo(String ids);

    /**
     * 查看表信息
     * @return boolean
     */
    Page selectTableInfo(Page page,String id,String dto);

    /**
     * 查询指标信息
     * @param stationId 站点id
     * @return list
     */
    List viewIndex(Long stationId);

    /**
     * 绑定指标
     * @return boolean
     */
    boolean bindIndex(Long tableId,Long itid,String itype);

    /**
     * 解绑指标
     * @param itid 表id
     * @return boolean
     */
    boolean untieIndex(String itid);

    /**
     * 获取绑定表信息
     *
     * @param page page
     * @param id id
     * @return page
     */
    Page getBindTableInfo(Page page,Long id);

    /**
     * 数据导出
     * @param response  response
     * @return true
     */
    void exportTableInfo(HttpServletResponse response,String dto);


    /**
     * 查询旧表信息
     * @param id 表id
     * @return list
     */
    List<Map> oldTableData(Long id);

    /**
     * 查询旧表历史流量
     * @param id 表id
     * @return list
     */
    List<Map> historicalTraffic(Long id,String start,String end);

    /**
     * 获取平均流量
     * @param id 表id
     * @param start 开始时间
     * @param end 结束时间
     * @return double
     */
    Double avgFlow(Long id,String start,String end);

    /**
     * 区域表换表
     * @param dmatablechange 区域表更换记录信息表
     * @return true
     */
    boolean changeTable(Dmatablechange dmatablechange);

}
