package com.clx.performance.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.open.sdk.request.action.*;
import com.clx.performance.param.pc.DealExceptionReportParam;
import com.clx.performance.param.pc.PageExceptionReportParam;
import com.clx.performance.param.pc.TransferDriverBreakContractParam;
import com.clx.performance.vo.pc.OrderChildExceptionReportVO;
import com.msl.common.result.Result;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;

/**
 * @author kavin
 * Date 2024-10-22
 * Time 10:38
 */
public interface OrderChildExceptionReportService {
    Result<String> smbSyncExceptionReportInfo(SmbSyncExceptionReportInfoAction action);

    Result<Object> smbSyncExceptionReportResult(SmbSyncExceptionReportResultAction action);

    Result<Object> smbWithdrawExceptionReport(SmbWithdrawExceptionReportAction action);

    Result<String> mslSyncExceptionReportInfo(MslSyncExceptionReportInfoAction action);

    Result<Object> mslSyncExceptionReportResult(MslSyncExceptionReportResultAction action);

    Result<Object> mslWithdrawExceptionReport(MslWithdrawExceptionReportAction action);

    void updateDealExceptionReport(DealExceptionReportParam param);

    Page<OrderChildExceptionReportVO> pageExceptionReport(PageExceptionReportParam param);

    SXSSFWorkbook exportExceptionReport(PageExceptionReportParam param);

    OrderChildExceptionReportVO getExceptionReport(Integer id);

    void transferDriverBreakContract(TransferDriverBreakContractParam param);
}
