package com.jiayue.ipp.idp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jiayue.ipp.common.data.entity.ForecastPowerShortTermHis;

import java.util.List;

/**
 * idp_forecast_power_short_term_his
 *
 * @author whc
 * @date 2022-03-18 15:48:57
 */
public interface ForecastPowerShortTermHisService extends IService<ForecastPowerShortTermHis> {

    /**
     * 根据时间 提前多久预测 场站编号查询数据
     *
     * @param time        时间
     * @param howLongAgo  提前多久预测
     * @param stationCode 场站数据
     * @return
     */
    ForecastPowerShortTermHis findByForecastTimeAndForecastHowLongAgoAndStationCode(Long time, int howLongAgo, String stationCode);

    /**
     * 根据时间 提前多久预测 场站编号查询数据
     *
     * @param startTime   开始时间
     * @param endTime     结束时间
     * @param howLongAgo  提前多久预测
     * @param stationCode 场站编号
     * @return
     */
    List<ForecastPowerShortTermHis> findByForecastTimeBetweenAndForecastHowLongAgoAndStationCode(Long startTime, Long endTime, Integer howLongAgo, String stationCode);

    /**
     * 根据时间 提前多久预测 场站编号 预测厂家查询数据
     *
     * @param pointEndTime       时间
     * @param howLongAgo         提前多久预测
     * @param stationCode        场站编号
     * @param forecastManufactor 预测厂家
     * @return
     */
    ForecastPowerShortTermHis findByForecastTimeAndForecastHowLongAgoAndStationCodeAndForecastManufactor(Long pointEndTime, int howLongAgo, String stationCode, String forecastManufactor);

    /**
     * 根据时间 提前多久预测 场站编号 预测厂家查询数据
     *
     * @param startTime          开始时间
     * @param endTime            结束时间
     * @param howLongAgo         提前多久预测
     * @param stationCode        场站编号
     * @param forecastManufactor 预测厂家
     * @return
     */
    List<ForecastPowerShortTermHis> findByForecastTimeBetweenAndForecastHowLongAgoAndStationCodeAndForecastManufactor(Long startTime, Long endTime, Integer howLongAgo, String stationCode, String forecastManufactor);
}
