package com.cf.imes.module.executor.service.funds.invoice;


import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.executor.controller.admin.funds.invoice.vo.*;
import org.springframework.web.multipart.MultipartFile;

import jakarta.servlet.http.HttpServletResponse;

/**
 * @author 发票管理接口
 */
public interface InvoiceService {


    InvoiceAmountRespVO getInvoiceAmount(Long organId);


    PageResult<InvoiceDetailsRespVO> getInvoiceDetails(InvoiceDetailsPageReqVO pageReqVO);


    PageResult<InvoiceRecordsRespVO> getInvoiceRecords(InvoiceDetailsPageReqVO pageReqVO);


    void insetInvoiceRecords(InvoiceRecordsReqVO reqVO);


    InvoiceDetailsRespVO getInvoiceIncome(Long invoiceId);


    void invoicing(InvoiceInvoicingReqVO reqVO);

    void uploadInvoice(MultipartFile file, Long invoiceId);

    void downloadInvoice(Long invoiceId, HttpServletResponse response);

}
