package com.njcn.event.mapper.majornetwork;

import com.njcn.event.pojo.po.RStatEventOrgPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 区域暂态指标分类统计表
 *
 * @author yzh
 * @date 2022/10/13
 */
@Mapper
public interface RStatEventOrgMapper {

    /**
     * 获取年区域暂态指标分类统计表
     *
     * @param deptCode       单位code
     * @param startTime      开始时间
     * @param endTime        结束时间
     * @param mainnetPointId 主网字典id
     * @return 年区域暂态指标分类统计表
     */
    List<RStatEventOrgPO> getYearRStatEventOrgInfo(@Param("deptCode") List<String> deptCode,
                                                   @Param("ids") List<String> ids,
                                                   @Param("startTime") String startTime,
                                                   @Param("endTime") String endTime,
                                                   @Param("mainnetPointId") String mainnetPointId);

    /**
     * 获取季区域暂态指标分类统计表
     *
     * @param deptCode       单位code
     * @param startTime      开始时间
     * @param endTime        结束时间
     * @param mainnetPointId 主网字典id
     * @return 季区域暂态指标分类统计表
     */
    List<RStatEventOrgPO> getQuarterRStatEventOrgInfo(@Param("deptCode") List<String> deptCode,
                                                      @Param("ids") List<String> ids,
                                                      @Param("startTime") String startTime,
                                                      @Param("endTime") String endTime,
                                                      @Param("mainnetPointId") String mainnetPointId);

    /**
     * 获取月区域暂态指标分类统计表
     *
     * @param deptCode       单位code
     * @param startTime      开始时间
     * @param endTime        结束时间
     * @param mainnetPointId 主网字典id
     * @return 月区域暂态指标分类统计表
     */
    List<RStatEventOrgPO> getMonthRStatEventOrgInfoInfo(@Param("deptCode") List<String> deptCode,
                                                        @Param("ids") List<String> ids,
                                                        @Param("startTime") String startTime,
                                                        @Param("endTime") String endTime,
                                                        @Param("mainnetPointId") String mainnetPointId);

}
