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/dal/mysql/purchase/ErpPurchaseInvoiceMapper.java |   16 ++++------------
 1 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInvoiceMapper.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInvoiceMapper.java
index 33bbae2..286a9bd 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInvoiceMapper.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInvoiceMapper.java
@@ -7,7 +7,6 @@
 import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInvoiceDO;
 import org.apache.ibatis.annotations.Mapper;
 
-import java.util.Collection;
 import java.util.List;
 
 /**
@@ -26,23 +25,16 @@
         return selectPage(reqVO, new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
                 .likeIfPresent(ErpPurchaseInvoiceDO::getNo, reqVO.getNo())
                 .eqIfPresent(ErpPurchaseInvoiceDO::getSupplierId, reqVO.getSupplierId())
-                .eqIfPresent(ErpPurchaseInvoiceDO::getPurchaseOrderId, reqVO.getPurchaseOrderId())
+                // 鎸夐噰璐鍗曡繃婊わ細涓�寮犳潵绁ㄥ彲鍒嗘憡鍒板寮犺鍗曪紝闇�鏌ュ垎鎽婃槑缁�
+                .apply(reqVO.getPurchaseOrderId() != null,
+                        "erp_purchase_invoice.id IN (SELECT a.invoice_id FROM erp_purchase_invoice_order a "
+                                + "WHERE a.purchase_order_id = {0} AND a.deleted = 0)", reqVO.getPurchaseOrderId())
                 .orderByDesc(ErpPurchaseInvoiceDO::getId));
-    }
-
-    default List<ErpPurchaseInvoiceDO> selectListByOrderId(Long orderId) {
-        return selectList(new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
-                .eq(ErpPurchaseInvoiceDO::getPurchaseOrderId, orderId));
     }
 
     default List<ErpPurchaseInvoiceDO> selectListBySupplierId(Long supplierId) {
         return selectList(new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
                 .eq(ErpPurchaseInvoiceDO::getSupplierId, supplierId));
-    }
-
-    default List<ErpPurchaseInvoiceDO> selectListByOrderIds(Collection<Long> orderIds) {
-        return selectList(new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
-                .in(ErpPurchaseInvoiceDO::getPurchaseOrderId, orderIds));
     }
 
 }

--
Gitblit v1.9.3