From 47806d9e390ee00e1d29ad1da8c1aa908882a758 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期二, 11 八月 2026 14:43:59 +0800
Subject: [PATCH] 用河南鹤壁代码覆盖山西长治

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

diff --git a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
index 8b94eb7..ea98e2b 100644
--- a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -6,8 +6,7 @@
 
     <update id="updateContractAmountById">
         UPDATE purchase_ledger
-        SET contract_amount = #{totalTaxInclusiveAmount},
-            net_contract_amount = #{totalTaxInclusiveAmount}
+        SET contract_amount = #{totalTaxInclusiveAmount}
         WHERE id = #{id}
     </update>
     <select id="selectPurchaseStats" resultType="com.ruoyi.home.dto.IncomeExpenseAnalysisDto">
@@ -28,7 +27,6 @@
                 pl.supplier_name,
                 pl.project_name,
                 pl.contract_amount,
-                pl.net_contract_amount,
                 pl.entry_date,
                 pl.execution_date,
                 pl.recorder_id,
@@ -90,6 +88,23 @@
                                 AND slp.sales_ledger_id = qi.purchase_ledger_id
                                 AND slp.product_model_id = qi.product_model_id
                             WHERE sir.approval_status = 1
+
+                            UNION ALL
+
+        SELECT slp.id AS sales_ledger_product_id,
+        sir.stock_in_num
+        FROM stock_in_record sir
+        INNER JOIN quality_unqualified qu
+        ON TRIM(sir.record_type) = '11'
+        AND sir.record_id = qu.id
+        INNER JOIN quality_inspect qi
+        ON qi.id = qu.inspect_id
+        INNER JOIN sales_ledger_product slp
+        ON slp.type = 2
+        AND slp.sales_ledger_id = qi.purchase_ledger_id
+        AND slp.product_model_id = qi.product_model_id
+        WHERE sir.approval_status = 1
+
                         ) rel
                         GROUP BY rel.sales_ledger_product_id
                     ) approved_qty ON approved_qty.sales_ledger_product_id = slp.id
@@ -122,12 +137,6 @@
                 <if test="c.supplierId != null">
                     AND pl.supplier_id = #{c.supplierId}
                 </if>
-                <if test="c.ids != null and c.ids.size() > 0">
-                    AND pl.id IN
-                    <foreach collection="c.ids" item="id" open="(" separator="," close=")">
-                        #{id}
-                    </foreach>
-                </if>
                 <if test="c.approvalStatus != null">
                     AND pl.approval_status = #{c.approvalStatus}
                 </if>
@@ -136,47 +145,7 @@
         <if test="c.stockInStatus != null and c.stockInStatus != ''">
             WHERE result.stock_in_status = #{c.stockInStatus}
         </if>
-        ORDER BY result.entry_date DESC
-    </select>
-
-    <select id="selectReturnablePurchaseLedgerList" resultType="com.ruoyi.purchase.pojo.PurchaseLedger">
-        SELECT DISTINCT pl.*
-        FROM purchase_ledger pl
-        WHERE 1 = 1
-        <if test="c.purchaseContractNumber != null and c.purchaseContractNumber != ''">
-            AND pl.purchase_contract_number LIKE CONCAT('%', #{c.purchaseContractNumber}, '%')
-        </if>
-        <if test="c.supplierId != null">
-            AND pl.supplier_id = #{c.supplierId}
-        </if>
-        <if test="c.approvalStatus != null">
-            AND pl.approval_status = #{c.approvalStatus}
-        </if>
-        AND EXISTS (
-            SELECT 1
-            FROM stock_in_record sir
-            LEFT JOIN quality_inspect qi
-                ON sir.record_type = '10'
-               AND sir.record_id = qi.id
-            LEFT JOIN sales_ledger_product slp
-                ON slp.sales_ledger_id = pl.id
-               AND slp.product_model_id = sir.product_model_id
-               AND slp.type = 2
-            LEFT JOIN (
-                SELECT stock_in_record_id, SUM(return_quantity) AS total_return_num
-                FROM purchase_return_order_products
-                GROUP BY stock_in_record_id
-            ) rs ON rs.stock_in_record_id = sir.id
-            WHERE sir.approval_status = 1
-              AND sir.record_type IN ('7','10')
-              AND (
-                  (sir.record_type = '7' AND sir.record_id = pl.id)
-                  OR (sir.record_type = '10' AND qi.purchase_ledger_id = pl.id)
-              )
-              AND slp.id IS NOT NULL
-              AND GREATEST(sir.stock_in_num - COALESCE(rs.total_return_num, 0), 0) > 0
-        )
-        ORDER BY pl.entry_date DESC
+        ORDER BY result.entry_date DESC, result.purchase_contract_number DESC
     </select>
 
     <select id="selectTotalPurchaseAmount" resultType="java.math.BigDecimal">

--
Gitblit v1.9.3