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.bf.entity.dto.AbnormalContrastInfoDTO;
import com.hdkj.lt.bf.entity.dto.FhzgAbnormalityWithVolVO;
import com.hdkj.lt.bf.entity.dto.OperationAbnormalityQueryDTO;
import com.hdkj.lt.bf.entity.vo.BreakerAreaVO;
import com.hdkj.lt.bf.entity.vo.FhzgAwaitTransferPathDetailVO;
import com.hdkj.lt.bf.entity.vo.FhzgGridOperationAbnormalityVO;
import com.hdkj.lt.core.bizms.modle.dto.FhzgGridOperationAbnormalityDTO;
import com.hdkj.lt.core.bizms.modle.dto.SchemeQueryDTO;
import com.hdkj.lt.core.bizms.modle.po.operationAbnormality.FhzgGridOperationAbnormality;
import com.hdkj.lt.core.bizms.modle.po.operationAbnormality.FhzgOperationAbnormalityLineLoadfactorLoss;
import com.hdkj.lt.core.bizms.modle.po.operationAbnormality.FhzgOperationAbnormalitySwitchingSequence;
import com.hdkj.lt.core.bizms.modle.po.operationAbnormality.FhzgOperationAbnormalityVoltageViolation;
import com.hdkj.lt.modle.dto.abnormal.SwitchDetailDTO;

import java.util.List;

public interface FhzgOperationAbnormalityService extends IService<FhzgGridOperationAbnormality> {

    Page<FhzgGridOperationAbnormalityVO> getOperationAbnormalityList(FhzgGridOperationAbnormalityDTO queryDTO);

    Page<FhzgAbnormalityWithVolVO> getOperationAbnormalityListNew(FhzgGridOperationAbnormalityDTO queryDTO);

    List<FhzgAwaitTransferPathDetailVO> getAwaitTransferPathDetail(String oaid);

    Page<FhzgOperationAbnormalitySwitchingSequence> getSwitchingSequence(FhzgGridOperationAbnormalityDTO queryDTO);

    Page<FhzgOperationAbnormalityLineLoadfactorLoss> getLineLoadfactorLoss(FhzgGridOperationAbnormalityDTO queryDTO);

    Page<FhzgOperationAbnormalityVoltageViolation> getVoltageViolation(FhzgGridOperationAbnormalityDTO queryDTO);

    List<BreakerAreaVO> getPathOverviewSwitch(OperationAbnormalityQueryDTO request);

    List<BreakerAreaVO> getDefaultOverviewSwitch(OperationAbnormalityQueryDTO request);

    AbnormalContrastInfoDTO getContrastInfo(OperationAbnormalityQueryDTO request);

    List<SwitchDetailDTO> getSvgPquiDataAbnormal(OperationAbnormalityQueryDTO request);
}
