package com.hdkj.lt.bf.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hdkj.lt.modle.dto.fault.RegenerateFaultRequest;
import com.hdkj.lt.bf.entity.dto.HasDataTagDTO;
import com.hdkj.lt.bf.entity.vo.FhzgFaultPowerCutVO;
import com.hdkj.lt.core.bizms.modle.dto.FhzgFaultDistCustomerDTO;
import com.hdkj.lt.core.bizms.modle.po.fault.FaultPowerCut;
import com.hdkj.lt.modle.dto.jsty.AllSwitchInfoListDTO;

import java.util.List;

/**
 * <p>
 * 故障停电转供信息表 服务类
 * </p>
 *
 * @author luorui
 * @since 2025-05-29
 */
public interface IFaultPowerCutService extends IService<FaultPowerCut> {

    Page<FhzgFaultPowerCutVO> getSchemeList(FaultPowerCut faultPowerCut);

    HasDataTagDTO getHasDataTag(FhzgFaultDistCustomerDTO dto);

    Integer updateSchemeState(FaultPowerCut obj);

    FhzgFaultPowerCutVO getSchemeByFaultId(Long faultId);

    List<AllSwitchInfoListDTO> getAllSwitchBySchemeId(Long faultId);
    /**
     * 更新故障区段确认状态
     * @param faultId fhzg_fault_power_cut.id
     */
    void updateSectionStatus(Long faultId);

    /**
     * 删除故障区段
     * @param faultId fhzg_fault_power_cut.id
     */
    void deleteSection(Long faultId);

    void regenerateFault(RegenerateFaultRequest request);
}
