package com.pqs9000.mapper.report;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.njcn.pojo.commons.device.ExportDev;
import com.pqs9000.pojo.report.LimitRateCalDTO;
import com.pqs9000.pojo.report.LineBaseData;
import org.apache.ibatis.annotations.Param;

import com.njcn.pojo.configuration.RptData;
import com.pqs9000.pojo.report.FpyReportData;

public interface ExcelReportMapper {
    List<RptData> getDatasByPloy(@Param("guid") String guid);

    List<RptData> getDatas(@Param("sets") Set<String> sets);

    FpyReportData integrityDataByIndex(@Param("lineIndex") Integer lineIndex,@Param("startTime")Date startTime,@Param("endTime") Date endTime);

    /**
     * 获取当前用户的所有台账信息
     * @author cdf
     * @date 2021/3/5
     */
    List<ExportDev> getExportDev(@Param("list") List<Integer> list,@Param("sysType")String sysType);

    /**
     * 执行存储过程
     * @author cdf
     * @date 2021/5/18
     */

    List<Map<String, String>> runProc(@Param("LineNo") Integer LineNo, @Param("startTime") Date startTime, @Param("endTime") Date endTime);

    /**
     * 根据数据完整性表查询监测点的数据完整性
     * @author cdf
     * @date 2023/5/26
     */
    List<LineBaseData> getIntegrityList(@Param("lineIds")List<Integer> lineIds, @Param("startTime")Date startTime, @Param("endTime")Date endTime);


    /**
     * 获取合格率详情limit_rate
     * @author cdf
     * @date 2023/5/26
     */
    List<Map<String, BigDecimal>> getLimitRateData(@Param("lineIds")List<Integer> lineIds, @Param("startTime")Date startTime, @Param("endTime")Date endTime);

    /**
     * 获取合格率详情limit_rate（针对谐波电流）
     * @author cdf
     * @date 2023/5/26
     */
    List<Map<String, BigDecimal>> getLimitRateDataIHarm(@Param("lineIds")List<Integer> lineIds, @Param("startTime")Date startTime, @Param("endTime")Date endTime);


    /**
     * 通过监测点id集合获取监测点信息以及上层基本信息
     * @author cdf
     * @date 2023/5/29
     */
    List<FpyReportData> getLineBaseInfo(@Param("lineIds")List<Integer> lineIds);
}
