package com.trade.service.trade.purchaseorder.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.trade.service.trade.purchaseorder.domain.PurchaseOrderInvoice;
import com.trade.service.trade.purchaseorder.dto.PurchaseOrderInvoiceDocumentSearchDto;
import com.trade.service.trade.purchaseorder.dto.PurchaseOrderInvoiceSearchDto;
import com.trade.service.trade.purchaseorder.vo.PurchaseOrderInvoiceDetailsVo;
import com.trade.service.trade.purchaseorder.vo.PurchaseOrderInvoiceDocumentVo;
import com.trade.service.trade.purchaseorder.vo.PurchaseOrderInvoiceVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 采购订单-发票信息 Mapper 接口
 * </p>
 *
 * @author wl
 * @since 2024-09-14
 */
public interface PurchaseOrderInvoiceMapper extends BaseMapper<PurchaseOrderInvoice> {

    List<PurchaseOrderInvoiceVo> selectByCondition(PurchaseOrderInvoiceSearchDto invoiceSearchDto);

    PurchaseOrderInvoiceDetailsVo selectByInvoiceId(@Param("id") Long id);

    List<PurchaseOrderInvoice> selectByInvoiceStatus(@Param("invoiceStatus") String invoiceStatus);

    List<PurchaseOrderInvoiceDocumentVo> selectPurchaseOrderInvoiceDocument(
            PurchaseOrderInvoiceDocumentSearchDto documentSearchDto);
}
