package com.njcn.csharmonic.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.csharmonic.pojo.param.MainLineQueryParam;
import com.njcn.csharmonic.pojo.param.MainLineStatLimitRateDetailsQueryParam;
import com.njcn.csharmonic.pojo.param.TotalLimitStatisticsDetailsQueryParam;
import com.njcn.csharmonic.pojo.param.TotalLimitStatisticsParam;
import com.njcn.csharmonic.pojo.po.RStatLimitRateDPO;
import com.njcn.csharmonic.pojo.vo.*;

import java.util.List;

/**
 * <p>
 * 合格率统计日表(越限次数) 服务类
 * </p>
 *
 * @author wr
 * @since 2023-04-03
 */
public interface IRStatLimitRateDService extends IService<RStatLimitRateDPO> {

    /**
     * 获取指定日期的监测点超标详情
     *
     * @author cdf
     * @date 2024/2/28
     */
    List<RStatLimitRateDPO> monitorIdsGetLimitRateInfo(String date, List<String> monitorIds);

    List<RStatLimitRateDPO> getOverData(String lineId, String startTime, String endTime, Integer type);

    Page<MainLineVO> mainLineList(MainLineQueryParam param);

    List<MainLineStatLimitRateDetailsVO> mainLineStatLimitRateDetails(MainLineStatLimitRateDetailsQueryParam param);

    TotalLimitTotalStatisticsVO totalLimitTotalStatisticsData(TotalLimitStatisticsParam param);

    List<TotalLimitStatisticsVO> totalLimitStatisticsList(TotalLimitStatisticsParam param);

    List<TotalLimitStatisticsDetailsVO> totalLimitStatisticsDetails(TotalLimitStatisticsDetailsQueryParam param);

    TotalLimitTotalStatisticsVO gridSideLimitTotalStatisticsData(TotalLimitStatisticsParam param);

    List<TotalLimitStatisticsVO> gridSideLimitStatisticsList(TotalLimitStatisticsParam param);

}
