package com.njcn.device.pms.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.device.pms.pojo.dto.PmsLedgerStaticDTO;
import com.njcn.device.pms.pojo.param.SubstationExpendParam;
import com.njcn.device.pms.pojo.vo.StationExpendMonitorVO;
import com.njcn.device.pms.pojo.vo.SubstationExpendVO;
import com.njcn.device.pms.pojo.po.SubstationExpend;
import com.njcn.device.pq.pojo.param.CommunicateParam;
import com.njcn.device.pq.pojo.vo.CommunicateVO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zhuxinyu
 * @since 2023-05-08
 */
public interface ISubstationExpendService extends IService<SubstationExpend> {


    Map<String, List<SubstationExpendVO>> getSubstationExpendInfo(StatisticsBizBaseParam param);


    PmsLedgerStaticDTO getLedgerStatistics(StatisticsBizBaseParam param);

    List<CommunicateVO.PVCommunicateVO> getCommunicationStatus(CommunicateParam param);

    /**
     * 分页获取变电站信息
     * @return
     */
    Page<SubstationExpend> getSubstationExpend(SubstationExpendParam param);

    /**
     * 添加变电站
     * @return
     */
    Boolean addSubstation(SubstationExpend param);

    /**
     * 分页获取变电站信息
     * @return
     */
    Boolean updateSubstation(SubstationExpend param);

    List<StationExpendMonitorVO> getSubStationMonitor(String stationId);
}
