package com.cpp.web.service.accuracy;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cpp.web.domain.accuracy.AccuracyPassRate;
import com.cpp.web.domain.enums.DataSourcesEnum;
import com.cpp.web.domain.enums.ForecastTypeEnum;

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

/**
 * idp_forecast_power_short_term
 *
 * @author tl
 * @date 2024-09-23 15:28:33
 */
public interface AccuracyPassRateService extends IService<AccuracyPassRate> {
    List<AccuracyPassRate> findByTimeBetweenAndForecastTypeAndDataSourcesAndAgoAndForecastModelAndStationCode(Date startTime, Date endTime, ForecastTypeEnum forecastType, DataSourcesEnum dataSources,Integer ago, String forecastModel,String stationCode);

    List<AccuracyPassRate> findByTimeBetweenAndStationCode(Date startTime,Date endTime,String stationCode);

    Map<String, Double> findByMonthBetweenAndForecastTypeAndStationCode(Long startTime, Long endTime, ForecastTypeEnum forecastType, DataSourcesEnum dataSources, String stationCode);

    List<Map<String,String>> finfBySingleMonthBetweenAndForecastTypeAndStationCode(Long startTime, Long endTime, ForecastTypeEnum forecastType, DataSourcesEnum dataSources, String stationCode,String stationName,String uploadDataSources);
}