package com.yeejoin.amos.boot.module.hygf.api.tdenginemapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.hygf.api.config.UserEmpower;
import com.yeejoin.amos.boot.module.hygf.api.dto.PowerCurveDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.AllPower;
import com.yeejoin.amos.boot.module.hygf.api.entity.MonthPower;
import com.yeejoin.amos.boot.module.hygf.api.entity.YearPower;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 按月统计 Mapper 接口
 *
 * @author system_generator
 * @date 2023-09-20
 */
public interface MonthPowerMapper extends BaseMapper<MonthPower> {

    List<MonthPower> getMonthPowerint();

    List<YearPower> getSumMonthPower(@Param("date") String month);

    List<AllPower>  getSumYearPower(@Param("date") String ear);

    List<PowerCurveDto>  getDayPower(@Param("startTime") Long startTime, @Param("endTime") Long endTime,@Param("dto")List<Long> statioId);

    List<PowerCurveDto> getMonthPower(@Param("date") String month,@Param("dto")List<String> statioId);

    List<PowerCurveDto> getYearPower(@Param("date") String month,@Param("dto")List<String> statioId);

    List<PowerCurveDto> getAllPower(@Param("date") String month,@Param("dto")List<String> statioId);
    @UserEmpower(field = {"regional_companies_code"}, dealerField = {"amos_company_code", "regional_companies_code"}, fieldConditions = {"eq", "in"}, relationship = "and")
    List<PowerCurveDto>  getDayPowercount(@Param("date") String month,@Param("regionalCompaniesCode") String regionalCompaniesCode, @Param("amosCompanyCode") String amosCompanyCode,@Param("dto")List<String> statioId,@Param("thirdStationId") String thirdStationId);

}
