package com.trade.service.trade.salesorder.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.trade.service.trade.salesorder.domain.SalesOrderInvoice;
import com.trade.service.trade.salesorder.vo.SalesOrderInvoiceDtlVO;
import com.trade.service.trade.salesorder.vo.SalesOrderInvoiceSearch;
import com.trade.service.trade.salesorder.vo.SalesOrderInvoiceVO;

/**
 * <p>
 * 销售订单-发票信息 服务类
 * </p>
 *
 * @author zhangchenm
 * @since 2024-09-06
 */
public interface ISalesOrderInvoiceService extends IService<SalesOrderInvoice> {

    /**
     * 根据订单id获取发票信息
     * 
     * @param orderId 订单id
     * @return 发票信息
     */
    SalesOrderInvoice getByOrderId(Long orderId);

    /**
     * 发票列表分页查询
     * 
     * @param search 查询条件
     * @return 分页结果
     */
    PageInfo<SalesOrderInvoiceVO> queryListBySearch(SalesOrderInvoiceSearch search);

    /**
     * 根据发票号获取发票明细
     * 
     * @param invoiceNo 发票号
     * @return 发票明细
     */
    SalesOrderInvoiceDtlVO getDetailByInvoiceNo(String invoiceNo);
}
