gaoluyang
10 天以前 2eeeb70e4733e7fc41635c3aa2143f13cbc43d58
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInvoiceService.java
@@ -4,8 +4,10 @@
import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.invoice.ErpPurchaseInvoicePageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.invoice.ErpPurchaseInvoiceSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInvoiceDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInvoiceOrderDO;
import jakarta.validation.Valid;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -91,4 +93,43 @@
     */
    List<ErpPurchaseInvoiceDO> getPurchaseInvoiceListBySupplierId(Long supplierId);
    /**
     * 根据采购订单编号列表,统计每个订单的来票金额合计(用于计算剩余可开票金额)
     *
     * @param orderIds 采购订单编号列表
     * @return Map<采购订单编号, 来票金额合计>
     */
    /**
     * 获得采购订单的已来票金额合计
     *
     * @param orderIds          采购订单编号集合
     * @param excludeInvoiceId  需排除的来票编号(编辑来票时为该来票自身,可为空)
     * @return 采购订单编号 -> 已来票金额
     */
    Map<Long, BigDecimal> getPurchaseInvoicePriceSumMapByOrderIds(Collection<Long> orderIds, Long excludeInvoiceId);
    /**
     * 获得来票的采购订单分摊明细
     *
     * @param invoiceId 来票编号
     * @return 分摊明细列表
     */
    List<ErpPurchaseInvoiceOrderDO> getPurchaseInvoiceOrderListByInvoiceId(Long invoiceId);
    /**
     * 获得来票的采购订单分摊明细(批量)
     *
     * @param invoiceIds 来票编号列表
     * @return 分摊明细列表
     */
    List<ErpPurchaseInvoiceOrderDO> getPurchaseInvoiceOrderListByInvoiceIds(Collection<Long> invoiceIds);
    /**
     * 获得采购订单的分摊明细(批量,用于统计订单已来票金额)
     *
     * @param purchaseOrderIds 采购订单编号列表
     * @return 分摊明细列表
     */
    List<ErpPurchaseInvoiceOrderDO> getPurchaseInvoiceOrderListByPurchaseOrderIds(Collection<Long> purchaseOrderIds);
}