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/sales/SalesLedgerProductMapper.xml |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
index a1d05e9..f3fa32d 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -6,14 +6,66 @@
 
     <select id="selectSalesLedgerProductList" resultType="com.ruoyi.sales.pojo.SalesLedgerProduct">
         SELECT
-        T1.*,
+        T1.id,
+        T1.sales_ledger_id,
+        T1.warn_num,
+        T1.speculative_trading_name,
+        T1.quantity,
+        T1.min_stock,
+        T1.tax_rate,
+        T1.tax_inclusive_unit_price,
+        T1.tax_inclusive_total_price,
+        T1.tax_exclusive_total_price,
+        T1.invoice_type,
+        T1.type,
+        T1.tickets_num,
+        T1.tickets_amount,
+        T1.future_tickets,
+        T1.future_tickets_amount,
+        T1.invoice_num,
+        T1.no_invoice_num,
+        T1.invoice_amount,
+        T1.no_invoice_amount,
+        T1.product_id,
+        T1.product_model_id,
+        T1.register,
+        T1.register_date,
+        T1.approve_status,
+        T1.pending_invoice_total,
+        T1.invoice_total,
+        T1.pending_tickets_total,
+        T1.tickets_total,
+        T1.is_checked,
+        T1.is_production,
+        T1.create_user,
+        T1.dept_id,
+        p.product_name as product_category,
+        pm.model as specification_model,
+        pm.unit as unit,
         CASE
-        WHEN (IFNULL(t2.qualitity, 0) - IFNULL(t2.locked_quantity, 0)) >= IFNULL(T1.quantity, 0) THEN 1
+        WHEN (IFNULL(t2.qualitity, 0) - IFNULL(t2.locked_quantity, 0)) >0 THEN 1
         ELSE 0
-        END as has_sufficient_stock
+        END as has_sufficient_stock,
+        (IFNULL(T1.quantity, 0) - IFNULL(t3.shipped_quantity, 0)) as no_quantity,
+        CASE
+        WHEN (IFNULL(T1.quantity, 0) - IFNULL(t3.shipped_quantity, 0)) > 0 THEN '寰呭彂璐�'
+        ELSE '宸插彂璐�'
+        END as shippingStatus
         FROM
         sales_ledger_product T1
-        LEFT JOIN stock_inventory t2 ON T1.product_model_id = t2.product_model_id
+        LEFT JOIN (
+        SELECT product_model_id, SUM(qualitity) as qualitity, SUM(locked_quantity) as locked_quantity
+        FROM stock_inventory
+        GROUP BY product_model_id
+        ) t2 ON T1.product_model_id = t2.product_model_id
+        LEFT JOIN (
+        SELECT sales_ledger_product_id, IFNULL(SUM(spd.quantity), 0) as shipped_quantity
+        FROM shipping_info si
+        LEFT JOIN shipping_product_detail spd ON si.id = spd.shipping_info_id
+        GROUP BY sales_ledger_product_id
+        ) t3 ON t3.sales_ledger_product_id = T1.id
+        left join product_model pm ON T1.product_model_id = pm.id
+        left join product p ON pm.product_id = p.id
         <where>
             <if test="salesLedgerProduct.salesLedgerId != null">
                 AND T1.sales_ledger_id = #{salesLedgerProduct.salesLedgerId}

--
Gitblit v1.9.3