package com.ho.business.service;

import com.ho.business.vo.req.StationReq;
import com.ho.business.vo.req.pcsStation.PcsStationReq;
import com.ho.business.vo.resp.DeviceRespVO;
import com.ho.business.vo.resp.cabin.CircleCtrlResp;
import com.ho.business.vo.resp.mppt.MpptActiveVo;
import com.ho.business.vo.resp.pcsStation.HomePageStationDataResp;
import com.ho.business.vo.resp.station.ActiveReactivePower;
import com.ho.common.tools.util.PageResult;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * @author fancl
 * @desc: 站首页
 * @date 2023/4/27
 */
public interface OpenStationService {

    //获取总有功, 总无功
    List<ActiveReactivePower> getAcPowers(Integer stationId);

    ActiveReactivePower getAcPower(Integer stationId);

    MpptActiveVo getPvActivePower(Integer stationId);

    //环控
    List<CircleCtrlResp> getCircle(List<DeviceRespVO> deviceList );


    String getPcsState(Map<Object, Object> hgetall );


    public int jobDataManage();

    public List<Map<String,Object>> getPcsIncomeData(PcsStationReq req);

    public Map<String,Object> getPcsRealTimeIncomeData(StationReq req);

    /**
     * 导出日冻结数据
     * @param req
     * @param response
     */
    void exportEleData(PcsStationReq req, HttpServletResponse response,String lang);

    /**
     * 查询日冻结数据
     * @param req
     */
    PageResult getElecData(PcsStationReq req);

    /**
     * 根据电站获取日冻结数据
     * @param req
     * @return
     */
    Object getElecMeterList(PcsStationReq req);

    /**
     * 根据电站id获取详细
     * @param req
     * @return
     */
    Object getElecMeterDetailList(PcsStationReq req);


    /**
     * 站首页电站数据（光伏日发、总发以及本地负载数据）
     * @param req
     * @return
     */
    HomePageStationDataResp getHomePageStationData(StationReq req);
}
