package com.hdkj.lt.bf.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hdkj.hussar.ApiResponse;
import com.hdkj.lt.base.model.response.PageVO;
import com.hdkj.lt.bf.entity.dto.ReconDetailReqDTO;
import com.hdkj.lt.bf.entity.dto.ReconListReqDTO;
import com.hdkj.lt.bf.entity.dto.ReconPageReqDTO;
import com.hdkj.lt.bf.entity.vo.*;

import java.util.List;

/**
 * 重构方案查询服务
 */
public interface ReconQueryService {

    /**
     * 查询方案列表
     */
    ApiResponse<ReconListVO> getSchemeList(ReconListReqDTO reqDTO);

    /**
     * 查询方案详情
     */
    ReconDetailVO getSchemeDetail(ReconDetailReqDTO reqDTO);

    /**
     * 查询开关动作顺序（分页）
     */
    PageVO<ReconSwitchSeqVO> getSwitchSeqPage(ReconPageReqDTO reqDTO);

    /**
     * 查询馈线重构前后对比（分页）
     */
    PageVO<ReconFeederCompareVO> getFeederComparePage(ReconPageReqDTO reqDTO);

    /**
     * 查询负荷点电压对比（分页）
     */
    PageVO<ReconLoadpointCompareVO> getLoadpointComparePage(ReconPageReqDTO reqDTO);

    /**
     * 查询开关状态对比（分页）
     */
    PageVO<ReconSwitchCompareVO> getSwitchComparePage(ReconPageReqDTO reqDTO);

    List<BreakerAreaVO> getSvgSwitchChange(ReconDetailReqDTO reqDTO);
}
