package com.njcn.harmonic.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.param.OverviewParam;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgM;
import com.njcn.harmonic.pojo.vo.OverviewVO;
import com.njcn.harmonic.pojo.vo.RStatHarmonicVO;
import com.njcn.harmonic.pojo.vo.StatHarmonicOrgVO;
import com.njcn.user.pojo.dto.DeptDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author qijian
 * @version 1.0.0
 * @createTime 2022/10/9 - 11:09
 */
public interface StatHarmonicOrgMMapper extends BaseMapper<RStatHarmonicOrgM> {

    /**
     * 查询谐波越限 月占比
     * @param list,startTime,endTime 参数
     * @return 结果
     */
    List<StatHarmonicOrgVO> listMonthRatio(@Param("list") List<DeptDTO> list, @Param("startTime") String startTime, @Param("endTime") String endTime);

    /**
     *各单位监测点数
     * @param param
     * @param dataType
     * @return
     */
    List<RStatHarmonicVO> selectInfoList(@Param("param") StatSubstationBizBaseParam param,
                                         @Param("ids") List<String> ids,
                                         @Param("dataType") String dataType);

    /**
     * 分布式光伏概览-超标监测点占比
     * @param param
     * @param ids
     * @param dataType
     * @return
     */
    List<OverviewVO> selectYoY(@Param("param") OverviewParam param,
                               @Param("ids") List<String> ids,
                               @Param("types") List<String> types,
                               @Param("dataType") String dataType);
}
