package com.hdkj.lt.bf.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hdkj.lt.bf.entity.dto.FhzgFaultTransferSchemeCheckCountResultDTO;
import com.hdkj.lt.bf.entity.dto.FhzgFaultTransferSchemeDTO;
import com.hdkj.lt.core.bizms.modle.po.fault.FaultTransferScheme;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;/**
 * <p>
 * 故障停电转供方案信息表 Mapper 接口
 * </p>
 *
 * @author luorui
 * @since 2025-05-29
 */
@Mapper
public interface FaultTransferSchemeMapper extends BaseMapper<FaultTransferScheme> {


    /**
     * 根据计划和，方案类型（推荐方案/校验失败方案） 查询方案列表(schemeType 不传值时查询该计划下所有组合方案的区域子方案通过和不通过数量 )
     */
    List<FhzgFaultTransferSchemeDTO> getFhzgFaultTransferSchemeByFaultId(FaultTransferScheme faultTransferScheme);

    /**
     * 根据计划，统计方案通过和校验失败方案数量
     */
    List<FhzgFaultTransferSchemeCheckCountResultDTO> countSchemeCheckByFaultId(FaultTransferScheme faultTransferScheme);


    Integer updateFhzgFaultTransferSchemeState(@Param("id") Long id, @Param("schemeState") String schemeState);

    void updateFhzgFaultTransferSchemeStateBatch(@Param("idList") Set<Long> idList, @Param("schemeState") String schemeState);}
