From 3688f07fd292812994dbf3c84bde18a440d8275c Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 04 十一月 2026 16:52:29 +0800
Subject: [PATCH] feat(erp): 采购来票支持关联多张采购订单并按订单分摊金额

---
 yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInvoiceService.java |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInvoiceService.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInvoiceService.java
index b7f95d2..90ecb66 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInvoiceService.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInvoiceService.java
@@ -4,6 +4,7 @@
 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;
@@ -98,6 +99,37 @@
      * @param orderIds 閲囪喘璁㈠崟缂栧彿鍒楄〃
      * @return Map<閲囪喘璁㈠崟缂栧彿, 鏉ョエ閲戦鍚堣>
      */
-    Map<Long, BigDecimal> getPurchaseInvoicePriceSumMapByOrderIds(Collection<Long> orderIds);
+    /**
+     * 鑾峰緱閲囪喘璁㈠崟鐨勫凡鏉ョエ閲戦鍚堣
+     *
+     * @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);
 
 }

--
Gitblit v1.9.3