From 0a52938cd6aee8090d8ee46ffca8538a3141e99e Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期六, 20 六月 2026 13:50:21 +0800
Subject: [PATCH] fix: 供应商档案根据维护日期倒序

---
 src/main/resources/mapper/basic/SupplierManageMapper.xml |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/basic/SupplierManageMapper.xml b/src/main/resources/mapper/basic/SupplierManageMapper.xml
index 67e5a92..15567ad 100644
--- a/src/main/resources/mapper/basic/SupplierManageMapper.xml
+++ b/src/main/resources/mapper/basic/SupplierManageMapper.xml
@@ -35,6 +35,7 @@
                 AND T1.is_white = #{supplierManageDto.isWhite}
             </if>
         </where>
+        order by T1.maintain_time desc
     </select>
 
     <select id="supplierExportList" resultType="com.ruoyi.basic.excel.SupplierManageExcelDto">
@@ -106,6 +107,29 @@
                                    ON slp_agg.sales_ledger_id = pl2.id
                                        AND slp_agg.product_model_id = sir.product_model_id
                WHERE sir.approval_status = 1 AND sir.record_type = 10
+               UNION ALL
+               SELECT sir.stock_in_num * slp_agg.tax_inclusive_unit_price AS inbound_amount,
+                      pl2.supplier_id
+               FROM stock_in_record sir
+               INNER JOIN quality_unqualified qu
+        ON qu.id = sir.record_id
+        INNER JOIN quality_inspect qi
+        ON qi.id = qu.inspect_id
+        INNER JOIN purchase_ledger pl2
+        ON pl2.id = qi.purchase_ledger_id
+        INNER JOIN (
+        SELECT
+        sales_ledger_id,
+        product_model_id,
+        MIN(tax_inclusive_unit_price) AS tax_inclusive_unit_price
+        FROM sales_ledger_product
+        WHERE type = 2
+        GROUP BY sales_ledger_id, product_model_id
+        ) slp_agg
+        ON slp_agg.sales_ledger_id = pl2.id
+        AND slp_agg.product_model_id = sir.product_model_id
+        WHERE sir.approval_status = 1
+        AND sir.record_type = 11
             ) t
             GROUP BY t.supplier_id
         ) T3 ON T3.supplier_id = T1.supplier_id
@@ -155,6 +179,29 @@
                                    ON slp_agg.sales_ledger_id = pl2.id
                                        AND slp_agg.product_model_id = sir.product_model_id
                WHERE sir.approval_status = 1 AND sir.record_type = 10
+               UNION ALL
+               SELECT sir.stock_in_num * slp_agg.tax_inclusive_unit_price AS inbound_amount,
+                      slp_agg.sales_ledger_id
+               FROM stock_in_record sir
+                        INNER JOIN quality_unqualified qu
+                                   ON qu.id = sir.record_id
+                        INNER JOIN quality_inspect qi
+                                   ON qi.id = qu.inspect_id
+                        INNER JOIN purchase_ledger pl2
+                                   ON pl2.id = qi.purchase_ledger_id
+                        INNER JOIN (
+                   SELECT
+                       sales_ledger_id,
+                       product_model_id,
+                       MIN(tax_inclusive_unit_price) AS tax_inclusive_unit_price
+                   FROM sales_ledger_product
+                   WHERE type = 2
+                   GROUP BY sales_ledger_id, product_model_id
+               ) slp_agg
+                                   ON slp_agg.sales_ledger_id = pl2.id
+                                       AND slp_agg.product_model_id = sir.product_model_id
+               WHERE sir.approval_status = 1
+                 AND sir.record_type = 11
            ) t
            GROUP BY t.sales_ledger_id
        ) T2 ON T2.sales_ledger_id = pl.id

--
Gitblit v1.9.3