package cn.superdesk.uniorder.service.invoice.customer;

import cn.superdesk.uniorder.dao.entity.sys.notify.SysNotify;
import cn.superdesk.uniorder.dto.vo.invoice.customer.*;
import cn.superdesk.uniorder.openapicall.thirdpart.szhtxx.electronicInvoice.dto.request.SingleBillingRequestBodyKpContent;
import cn.superdesk.uniorder.service.invoice.customer.impl.InvoiceApplyCustomerExportExcelFocusScoreDimCreditStruct;

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

/**
 * @Description: 开票申请 页面 导出相关
 * @Author: linjinyu
 * @CreateDate: 2021/3/5 下午3:43
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/3/5 下午3:43
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
public interface InvoiceApplyCustomerExportExcelService {


    /****************************************** 客户结算 开票申请 列表导出 Excel数据 start ******************************************/

    // 超级前台
    SysNotify exportExcelInvoiceApplyFocusUnifiedDimGoods(List<ExportExcelInvoiceApplyForceUnifiedDimGoodsVo> resultList);

    /****************************************** 客户结算 开票申请 列表导出 Excel数据 start ******************************************/


    /****************************************** 积分结算 开票申请 列表导出 Excel数据 start ******************************************/

    // 侨城汇
    //	|---- 1. 搜索框 条件 结算集
    //	|---- 2. 搜索框 条件 结算集 后 界面上 勾选 要以 开票申请编号 分 sheet 分合并前 合并后 - op(勾选)导出报表 合并前 后
    //	|---- 3. 搜索框 条件 结算集 后 界面上 勾选 要以 开票申请编号 分 sheet 财务专用  - op(勾选)导出开票数据 合并后
    SysNotify exportExcelInvoiceApplyFocusScoreDimCreditMode1(List<ExportExcelInvoiceApplyCustomerForceScoreDimCreditVo> resultList);

    SysNotify exportExcelInvoiceApplyFocusScoreDimCreditMode2(List<ExportExcelInvoiceApplyCustomerForceScoreDimCreditVo> resultList);

    SysNotify exportExcelInvoiceApplyFocusScoreDimCreditMode3(List<ExportExcelInvoiceApplyCustomerForceScoreDimCreditVo> resultList);

    void qchNeed20210922(List<ExportExcelInvoiceApplyCustomerForceScoreDimCreditVo> resultTmp);

    Map<String, InvoiceApplyCustomerExportExcelFocusScoreDimCreditStruct> mergeResultByExcelDebugAndCreateWorkbook(Integer mode, List<ExportExcelInvoiceApplyCustomerForceScoreDimCreditVo> resultList);

    /**
     * 导出发票Pre数据
     *
     * @param singleBillingRequestBodyKpContent
     * @return
     */
    SysNotify exportOngoingInvoiceTypeEq1InvoiceModeEqSzhtxxElectronicInvoice(SingleBillingRequestBodyKpContent singleBillingRequestBodyKpContent);

    /****************************************** 积分结算 开票申请 列表导出 Excel数据   end ******************************************/


    /**************************************** 积分结算 发票申请管理 op导出列表 start ****************************************/

    SysNotify exportInvoiceApplyListExcelV2_1(List<InvoiceApplyCustomerPageVo> resultList);

    /**************************************** 积分结算 发票申请管理 op导出列表   end ****************************************/


    /****************************************** 客户结算 开票申请 详情的导出 mark by linjinyu at 20210223 start ******************************************/

    // 超级前台
    SysNotify exportExcelUnifiedCustomerInvoice2GoodsDetail(InvoiceApplyCustomerDetailDimGoodsVo invoiceApplyDetailDimGoodsVo);

    // 超级前台-导出为E6可导入
    SysNotify exportExcelDimUnifiedInvoiceRegister4E6(InvoiceApplyCustomerDetailDimGoodsVo invoiceApplyDetailDimGoodsVo);

    // 侨城汇
    SysNotify exportExcelUnifiedCustomerInvoice2CreditDetail(InvoiceApplyCustomerDetailDimCreditVo invoiceApplyDetailDimCreditVo);

    /****************************************** 客户结算 开票申请 详情的导出 mark by linjinyu at 20210223   end ******************************************/


}
