package com.hdkj.lt.bf.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hdkj.lt.bf.entity.dto.FhzgPlanTransferSchemeCheckCountResultDTO;
import com.hdkj.lt.bf.entity.dto.FhzgPlanTransferSchemeDTO;
import com.hdkj.lt.bf.entity.dto.FhzgPlanTransferSchemeTransferSituationDTO;
import com.hdkj.lt.bf.entity.dto.FhzgPlanTransferSchemeUpdateReqDTO;
import com.hdkj.lt.core.bizms.modle.dto.TransferSchemeEvaluationReqDTO;
import com.hdkj.lt.core.bizms.modle.po.plan.FhzgPlanTransferScheme;
import com.hdkj.lt.modle.dto.jsty.AllSwitchInfoListDTO;

import java.util.List;

/**
 *
 * @author luorui
 * @date 2025/5/14 16:36
 * @discription 计划停电转供方案分析服务接口
 *
 **/
public interface FhzgPlanTransferSchemeService extends IService<FhzgPlanTransferScheme> {


    /**
     * 根据计划和，方案类型（推荐方案/校验失败方案） 查询方案列表
     */
    List<FhzgPlanTransferSchemeDTO> getTransferSchemeListByPlanId(FhzgPlanTransferScheme fhzgPlanTransferScheme);

    /**
     * 更新停电计划下的方案状态未选定/取消选定
     */
    Integer updateSchemeState(FhzgPlanTransferSchemeUpdateReqDTO fhzgPlanTransferSchemeUpdateReqDTO);

    /**
     *
     * 查询停电计划下的推荐方案和不通过方案数量
     *
     **/
    List<FhzgPlanTransferSchemeCheckCountResultDTO> getTransferSchemeCheckResultCountByPlanId(FhzgPlanTransferScheme fhzgPlanTransferScheme);

    /**
     *
     * 查询方案的转供情况
     *
     **/
    FhzgPlanTransferSchemeTransferSituationDTO getTransferSchemeSituationById(TransferSchemeEvaluationReqDTO transferSchemeEvaluationReqDTO);

    List<AllSwitchInfoListDTO> getAllSwitchBySchemeId(Long schemeId);


//    /**
//     *
//     * 查询停电计划下的推荐方案是否通过(过程态和终态的校验结果集)
//     *
//     **/
//    Boolean getSchemeSafeCheckResultByGroupId(FhzgPlanTransferScheme fhzgPlanTransferScheme);
//
//    /**
//     *
//     * 停电计划转供方案安全性校验八条检查项结果查询
//     *
//     **/
//    FhzgPlanTransferSchemeSafeCheckResultDTO getSchemeSafeCheckResultDetailByGroupId(FhzgPlanTransferScheme fhzgPlanTransferScheme);
}
