package com.njcn.device.pms.service.gwPush;

import com.njcn.device.pms.pojo.param.MonitorParam;
import com.njcn.device.pms.pojo.po.Monitor;
import com.njcn.device.pms.pojo.vo.gw.*;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 国网台账类上送
 */
public interface MonitorSendService {

    /**
     * 监测点上送信息
     * @param param
     * @return
     */
    String sendType(MonitorParam.Info param);

    /**
     * @Description: 电能质量风电场台账数据接口
     * @param monitorList
     * @return: java.lang.String
     * @Author: wr
     * @Date: 2023/12/7 9:00
     */
    List<WindSourceDto> windSend(List<Monitor> monitorList);

    /**
     * @Description: 电能质量光伏电站台账数据接口
     * @param monitorList
     * @return: java.lang.String
     * @Author: wr
     * @Date: 2023/12/7 14:18
     */
    List<PhotovoltaicDto> photovoltaicSend(List<Monitor> monitorList);


    /**
     * @Description: 电能质量重要、敏感用户台账数据接口
     * @param monitorList
     * @return: java.lang.String
     * @Author: wr
     * @Date: 2023/12/7 14:18
     */
    List<SensitiveUserDto> sensitiveUserSend(List<Monitor> monitorList);


    /**
     * @Description: 电能质量牵引站台账数据接口
     * @param monitorList
     * @return: java.lang.String
     * @Author: wr
     * @Date: 2023/12/7 14:18
     */
    List<TractionStationDTO>  tractionStationSend(List<Monitor> monitorList);

    /**
     * @Description: 其他干扰用户台账数据接口
     * @param monitorList
     * @return: java.lang.String
     * @Author: wr
     * @Date: 2023/12/7 14:18
     */
    List<OtherUserDto> otherUserSend(List<Monitor> monitorList);

    /**
     * 导出国网上送信息
     */
    void exportSend(HttpServletResponse response) throws IOException;
}
