package com.njcn.event.mapper.distribution;

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/25
 */

@Mapper
public interface PwRStatOrgClassifiedMapper {
    /**
     * 获取配网区域暂态事件分类统计（年）
     * <p>
     *
     * @param deptIdList  单位id
     * @param startTime   开始时间
     * @param endTime     结束时间
     * @param distributionPoint 配网id
     * @return 配网区域暂态事件分类统计（年）
     */
    List<RStatEventOrgPO> getYearInfo(@Param("deptIdList") List<String> deptIdList,
                                      @Param("ids") List<String> ids,
                                      @Param("startTime") String startTime,
                                      @Param("endTime") String endTime,
                                      @Param("distributionPoint")String distributionPoint);

    /**
     * 获取配网区域暂态事件分类统计（月）
     *
     * @param deptIdList  单位id
     * @param startTime   开始时间
     * @param endTime     结束时间
     * @param distributionPoint 配网id
     * @return 配网区域暂态事件分类统计（月）
     */
    List<RStatEventOrgPO> getQuarterInfo(@Param("deptIdList") List<String> deptIdList,
                                         @Param("ids") List<String> ids,
                                         @Param("startTime") String startTime,
                                         @Param("endTime") String endTime,
                                         @Param("distributionPoint") String distributionPoint);

    /**
     * 获取配网区域暂态事件分类统计（月）
     *
     * @param deptIdList  单位id
     * @param startTime   开始时间
     * @param endTime     结束时间
     * @param distributionPoint 配网id
     * @return 配网区域暂态事件分类统计（月）
     */
    List<RStatEventOrgPO> getMonthInfo(@Param("deptIdList") List<String> deptIdList,
                                       @Param("ids") List<String> ids,
                                       @Param("startTime") String startTime,
                                       @Param("endTime") String endTime,
                                       @Param("distributionPoint") String distributionPoint);
}
