From 6d3a76f894052209cad136ec9bff6ddcd43fc4e7 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 20 四月 2026 17:55:48 +0800
Subject: [PATCH] feat: 扫码时做限制,若采购台账已全部质检入库,APP扫码 入库时提示已入库。并且联动质检

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

diff --git a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
index 1aed9b4..8e85e40 100644
--- a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -29,6 +29,8 @@
         pl.approve_user_ids,
         sm.is_white,
         pl.approval_status,
+        pl.stock_status,
+        IFNULL(ps.product_stock_status, 0) AS product_stock_status,
         pl.payment_method,
         pl.remarks
         FROM purchase_ledger pl
@@ -40,6 +42,19 @@
         GROUP BY purchase_ledger_id
         ) tr_sum ON pl.id = tr_sum.purchase_ledger_id
         LEFT JOIN supplier_manage sm ON pl.supplier_id = sm.id
+        LEFT JOIN (
+        SELECT
+        sales_ledger_id,
+        CASE
+        WHEN COUNT(1) = 0 THEN 0
+        WHEN SUM(CASE WHEN IFNULL(product_stock_status, 0) = 2 THEN 1 ELSE 0 END) = COUNT(1) THEN 2
+        WHEN SUM(CASE WHEN IFNULL(product_stock_status, 0) > 0 THEN 1 ELSE 0 END) > 0 THEN 1
+        ELSE 0
+        END AS product_stock_status
+        FROM sales_ledger_product
+        WHERE type = 2
+        GROUP BY sales_ledger_id
+        ) ps ON pl.id = ps.sales_ledger_id
         <where>
             <if test="c.purchaseContractNumber != null and c.purchaseContractNumber != ''">
                 AND pl.purchase_contract_number LIKE CONCAT('%', #{c.purchaseContractNumber}, '%')

--
Gitblit v1.9.3