From 2eeeb70e4733e7fc41635c3aa2143f13cbc43d58 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 04 十一月 2026 17:11:34 +0800
Subject: [PATCH] feat(erp): 采购来票分摊合计改为不超过来票金额即可

---
 yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInvoiceService.java |   66 ++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 25 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 8f8b01b..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,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;
@@ -42,22 +44,6 @@
     void deletePurchaseInvoice(Long id);
 
     /**
-     * 鎻愪氦鏉ョエ瀹℃壒
-     *
-     * @param id 缂栧彿
-     * @param userId 鐢ㄦ埛缂栧彿
-     */
-    void submitPurchaseInvoice(Long id, Long userId);
-
-    /**
-     * 鏇存柊鏉ョエ瀹℃壒缁撴灉锛圔PM 鍥炶皟锛�
-     *
-     * @param id 缂栧彿
-     * @param bpmResult BPM 瀹℃壒缁撴灉
-     */
-    void updatePurchaseInvoiceAuditStatus(Long id, Integer bpmResult);
-
-    /**
      * 鑾峰緱鏉ョエ
      *
      * @param id 缂栧彿
@@ -92,28 +78,58 @@
     PageResult<ErpPurchaseInvoiceDO> getPurchaseInvoicePage(ErpPurchaseInvoicePageReqVO pageReqVO);
 
     /**
-     * 鏍规嵁閲囪喘璁㈠崟缂栧彿鍜屽鎵圭姸鎬佽幏寰楁潵绁ㄥ垪琛�
+     * 鏍规嵁閲囪喘璁㈠崟缂栧彿鑾峰緱鏉ョエ鍒楄〃
      *
      * @param orderId 閲囪喘璁㈠崟缂栧彿
-     * @param auditStatuses 瀹℃壒鐘舵�侀泦鍚�
      * @return 鏉ョエ鍒楄〃
      */
-    List<ErpPurchaseInvoiceDO> getPurchaseInvoiceListByOrderIdAndStatus(Long orderId, Collection<Integer> auditStatuses);
+    List<ErpPurchaseInvoiceDO> getPurchaseInvoiceListByOrderId(Long orderId);
 
     /**
-     * 鏍规嵁渚涘簲鍟嗙紪鍙峰拰瀹℃壒鐘舵�佽幏寰楁潵绁ㄥ垪琛�
+     * 鏍规嵁渚涘簲鍟嗙紪鍙疯幏寰楁潵绁ㄥ垪琛�
      *
      * @param supplierId 渚涘簲鍟嗙紪鍙�
-     * @param auditStatuses 瀹℃壒鐘舵�侀泦鍚�
      * @return 鏉ョエ鍒楄〃
      */
-    List<ErpPurchaseInvoiceDO> getPurchaseInvoiceListBySupplierIdAndStatus(Long supplierId, Collection<Integer> auditStatuses);
+    List<ErpPurchaseInvoiceDO> getPurchaseInvoiceListBySupplierId(Long supplierId);
 
     /**
-     * 鑾峰緱寰呭鏍告潵绁ㄦ暟閲�
+     * 鏍规嵁閲囪喘璁㈠崟缂栧彿鍒楄〃锛岀粺璁℃瘡涓鍗曠殑鏉ョエ閲戦鍚堣锛堢敤浜庤绠楀墿浣欏彲寮�绁ㄩ噾棰濓級
      *
-     * @return 鏁伴噺
+     * @param orderIds 閲囪喘璁㈠崟缂栧彿鍒楄〃
+     * @return Map<閲囪喘璁㈠崟缂栧彿, 鏉ョエ閲戦鍚堣>
      */
-    Long getAuditInvoiceCount();
+    /**
+     * 鑾峰緱閲囪喘璁㈠崟鐨勫凡鏉ョエ閲戦鍚堣
+     *
+     * @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