From 08ae0d7ebfe352e8fbcd32a58c596b082a09ed15 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 12 五月 2026 16:40:15 +0800
Subject: [PATCH] feat(purchase): 添加根据采购订单id查询入库产品信息接口

---
 src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml b/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
index 2152244..39b9dca 100644
--- a/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
@@ -77,4 +77,34 @@
             </if>
          order by pro.id DESC
     </select>
+    <select id="getByPurchaseLedgerId" resultType="com.ruoyi.purchase.vo.PurchaseStockInProductVo">
+         SELECT
+            sir.id,
+            slp.product_category,
+            slp.specification_model,
+            slp.unit,
+            sir.inbound_batches,
+            sir.stock_in_num,
+            sir.batch_no,
+            slp.tax_inclusive_unit_price,
+            GREATEST(sir.stock_in_num - COALESCE(rs.total_return_num, 0), 0) AS un_quantity,
+            COALESCE(rs.total_return_num, 0) AS total_return_num
+            FROM stock_in_record sir
+            LEFT JOIN quality_inspect qi ON sir.record_type = 10 AND sir.record_id = qi.id
+            LEFT JOIN purchase_ledger pl
+            ON pl.id = IF(sir.record_type = 7, sir.record_id, qi.purchase_ledger_id)
+            LEFT JOIN sales_ledger_product slp ON pl.id = slp.product_id
+            LEFT JOIN (
+                SELECT
+                    stock_in_record_id,
+                    SUM(return_quantity) AS total_return_num
+                FROM purchase_return_order_products prop
+                         left join purchase_return_orders pro on pro.id = prop.purchase_return_order_id
+                WHERE 1=1
+                GROUP BY stock_in_record_id
+            ) rs ON rs.stock_in_record_id = sir.id
+        WHERE sir.approval_status = 1 AND slp.type = 2
+        AND sir.record_type IN ('7','10')
+         and pl.id = #{purchaseLedgerId}
+    </select>
 </mapper>

--
Gitblit v1.9.3