From b4cd374493cfbc1a2155b32341a1ac368f1a8da2 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 03 九月 2026 14:54:33 +0800
Subject: [PATCH] fix: 排序规则修改

---
 src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml |   49 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml b/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
index fd433f2..fd87e03 100644
--- a/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
+++ b/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
@@ -16,16 +16,15 @@
         qu.deal_result,
         qu.deal_name,
         qu.deal_time,
+        qu.product_model_id,
+        COALESCE(pm.model, pm_legacy.model, qu.model) AS model,
         CASE
-        WHEN qu.model = pm.id THEN pm.model
-        ELSE qu.model
-        END AS model,
-        CASE
-        WHEN qu.model = pm.id THEN true
+        WHEN pm_legacy.id IS NOT NULL THEN true
         ELSE false
         END AS method
         FROM quality_unqualified qu
-        LEFT JOIN product_model pm ON qu.model = pm.id
+        LEFT JOIN product_model pm ON qu.product_model_id = pm.id
+        LEFT JOIN product_model pm_legacy ON qu.product_model_id IS NULL AND pm_legacy.id = CAST(qu.model AS UNSIGNED) AND qu.model REGEXP '^[0-9]+$'
         where
         1=1
         <if test="qualityUnqualified.inspectType != null ">
@@ -43,7 +42,9 @@
         <if test="qualityUnqualified.entryDateEnd != null and qualityUnqualified.entryDateEnd != '' ">
             AND  check_time &lt;= DATE_FORMAT(#{qualityUnqualified.entryDateEnd},'%Y-%m-%d')
         </if>
+        order by qu.check_time desc
     </select>
+
     <select id="qualityUnqualifiedExport" resultType="com.ruoyi.quality.pojo.QualityUnqualified">
         SELECT
         *
@@ -60,4 +61,40 @@
             AND product_name = #{qualityUnqualified.productName}
         </if>
     </select>
+    <select id="getUnqualified" resultType="com.ruoyi.quality.pojo.QualityUnqualified">
+        SELECT
+            qu.id,
+            qu.inspect_id,
+            qu.inspect_type,
+            qu.inspect_state,
+            qu.check_time,
+            qu.check_name,
+            qu.product_id,
+            qu.product_name,
+            qu.unit,
+            qu.quantity,
+            qu.defective_phenomena,
+            qu.deal_result,
+            qu.deal_name,
+            qu.deal_time,
+            qu.product_model_id,
+            COALESCE(pm.model, pm_legacy.model, qu.model) AS model,
+            CASE
+                WHEN pm_legacy.id IS NOT NULL THEN true
+                ELSE false
+                END AS method
+        FROM quality_unqualified qu
+                 LEFT JOIN product_model pm ON qu.product_model_id = pm.id
+                 LEFT JOIN product_model pm_legacy ON qu.product_model_id IS NULL AND pm_legacy.id = CAST(qu.model AS UNSIGNED) AND qu.model REGEXP '^[0-9]+$'
+        where
+            1=1
+        and qu.id = #{id}
+    </select>
+    <select id="getModelId" resultType="java.lang.Long">
+        select pm.id
+        from product_model pm
+        left join product p on pm.product_id=p.id
+        where pm.model=#{model}
+          and  p.product_name=#{productName}
+    </select>
 </mapper>

--
Gitblit v1.9.3