package com.hdkj.lt.bf.mapper;

import com.hdkj.lt.bf.entity.vo.*;
import com.hdkj.lt.core.bizms.modle.dto.SchemeQueryDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * 停电计划转供方案过程态详情分页查询
 *
 * @author zhuzhe
 * @since 2025-05-16
 */
@Mapper
public interface FhzgLimitProcessStateCheckMapper {

    /**
     * 停电计划转供方案过程态详情分页查询
     * @param dto
     * @return
     */
    List<ProcessStateVO> selectProcessStateCheckList(SchemeQueryDTO dto);

    Integer selectProcessStateCheckCount(SchemeQueryDTO dto);

    // 计划停电转供方案开关动作顺序分页查询
    List<SwitchingSequenceVO> getSwitchingSequenceList(SchemeQueryDTO dto);

    Integer getSwitchingSequenceCount(SchemeQueryDTO dto);

    Integer getSwitchingAutoSequenceCount(SchemeQueryDTO dto);

    // 停电计划转供方案终态安全校验 明细 查询
    List<FinalStateCheckVO> getFinalStateCheckDetail(SchemeQueryDTO dto);

    List<SwitchingLoopSwVO> getSwitchingLoopSwCurrentList(SchemeQueryDTO dto);

    Integer getSwitchingLoopSwCurrentCount(SchemeQueryDTO dto);

    List<SwitchingLoopSegVO> getSwitchingLoopSegCurrentList(SchemeQueryDTO dto);

    Integer getSwitchingLoopSegCurrentCount(SchemeQueryDTO dto);

    List<SwitchingLoopCheckVO> getSwitchCurrentDetailList(SchemeQueryDTO dto);

    String getMaxLoadFactorBySchemeId(@Param("schemeId")Long schemeId);

    List<Map<String,Object>> getLoopSegCurrentListBySwitchingId(@Param("switchingId")Long switchingId);
}
