package com.njcn.harmonic.service.majornetwork;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.device.pms.pojo.param.pwUser.PwUserMonitorParam;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
import com.njcn.harmonic.pojo.vo.MonitorLimitRateVO;
import com.njcn.harmonic.pojo.vo.PwLimitDataVO;
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;

import java.util.List;

/**
 * pqs
 *
 * @author cdf
 * @date 2024/2/28
 */
public interface RStatLimitService {


    List<RStatLimitTargetDPO> monitorIdsGetLimitTargetInfo(String date, List<String> monitorIds);

    List<RStatLimitTargetVO> monitorOverLimitDays(String date, String endDate, List<String> monitorIds);

    List<GridDiagramVO.LineData> getGridDiagramLineData(DeviceInfoParam.BusinessParam deviceInfoParam);

    /**
     * 区域基本信息(监测点，终端，变电站等)
     * @param param
     * @return
     */
    List<GridDiagramVO.AreaData> getGridDiagramAreaData(DeviceInfoParam.BusinessParam param);

    /**
     *
     * @param param
     * @return
     */
    List<GridDiagramVO.RunData> getGridDiagramRunData(DeviceInfoParam.BusinessParam param);


    Page<MonitorLimitRateVO> pwMonitorLimitData(PwUserMonitorParam pwUserMonitorParam);

    List<PwLimitDataVO> pwMonitorLimitDataRange(PwUserMonitorParam pwUserMonitorParam);

}
