From 4f258638d62ccaae0050f1ed6c7231941b66fb50 Mon Sep 17 00:00:00 2001
From: deslrey <deslre0381@gmail.com>
Date: 星期六, 10 一月 2026 11:29:04 +0800
Subject: [PATCH] 【物料属性】的回显及查询

---
 inspect-server/src/main/resources/mapper/InsReportMapper.xml |  100 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 88 insertions(+), 12 deletions(-)

diff --git a/inspect-server/src/main/resources/mapper/InsReportMapper.xml b/inspect-server/src/main/resources/mapper/InsReportMapper.xml
index f4b741e..a5bc457 100644
--- a/inspect-server/src/main/resources/mapper/InsReportMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsReportMapper.xml
@@ -18,6 +18,92 @@
         io.laboratory,
         io.ifs_inventory_id,
         iiq.is_copper,
+        iiq.material_prop,
+        ip.son_laboratory,
+        iiq.update_batch_no,
+        iiq.part_desc,
+        iiq.supplier_name
+        from ins_report ir
+        left join ins_order io on io.id = ir.ins_order_id
+        LEFT JOIN ifs_inventory_quantity iiq ON iiq.id = io.ifs_inventory_id
+        left join user u on u.id = ir.write_user_id
+        left join user u1 on u1.id = ir.ratify_user_id
+        left join user u2 on u2.id = ir.examine_user_id
+        left join ins_sample is2 on is2.ins_order_id = io.id
+        left join ins_product ip on ip.ins_sample_id = is2.id
+        where 1=1
+        and ir.is_pass = 1
+        <if test="createOrderUser != null">
+            and (ir.write_user_id = #{createOrderUser} or ir.examine_user_id = #{createOrderUser} or ir.ratify_user_id =
+            #{createOrderUser})
+        </if>
+        <if test="laboratory!=null and laboratory!=''">
+            and io.laboratory=#{laboratory}
+        </if>
+        <if test="queryStatus != null and queryStatus != ''">
+            <if test='queryStatus == "0"'>
+                and ir.state = 0
+            </if>
+            <if test='queryStatus == "1"'>
+                and ir.state = 1 and (ir.is_examine != 1 or ir.is_examine is null)
+            </if>
+            <if test='queryStatus == "2"'>
+                and ir.state = 1 and ir.is_examine = 1 and (ir.is_ratify != 1 or ir.is_ratify is null)
+            </if>
+        </if>
+        group by ir.id
+        ) a
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
+        </if>
+        ORDER BY a.create_time DESC
+    </select>
+
+
+    <select id="getLaboratoryByName" resultType="java.lang.String">
+        select s.address
+        from seal s
+                 left join laboratory l on s.lab_id = l.id
+        where l.laboratory_name = #{name}
+          and s.type = #{type}
+        order by s.create_time desc
+        limit 1
+    </select>
+
+    <!-- 鎶ュ憡鎶ヨ〃瀵煎嚭 -->
+    <select id="reportAllExport" resultType="com.ruoyi.inspect.dto.InsReportExport">
+        select code,
+        case when type_source = 0 then '鎴愬搧涓嬪崟' else '鍘熸潗鏂欎笅鍗�' end type_source,
+        case
+        when order_type = '鎶芥' then '鎶芥'
+        when order_type = 'Customer-ordered test' then '濮旀墭妫�楠�'
+        when order_type = '杩涘巶妫�楠�' then '杩涘巶妫�楠�'
+        when order_type = 'Quarterly inspection' then '瀛e害妫�楠�'
+        else '' end order_type,
+        DATE_FORMAT(create_Time, '%Y-%m-%d %H:%i:%s') create_Time,
+        write_user_name,
+        DATE_FORMAT(write_time, '%Y-%m-%d %H:%i:%s') write_time,
+        case when state = 0 then '寰呮彁浜�' when state = 1 then '宸叉彁浜�' else '' end state,
+        examine_user,
+        DATE_FORMAT(examine_time, '%Y-%m-%d %H:%i:%s') examine_time,
+        case when is_examine = 0 then '涓嶉�氳繃' when is_examine = 1 then '閫氳繃' else '' end is_examine,
+        examine_tell,
+        ratify_user,
+        DATE_FORMAT(ratify_time, '%Y-%m-%d %H:%i:%s') ratify_time,
+        case when is_ratify = 0 then '涓嶆壒鍑�' when is_ratify = 1 then '鎵瑰噯' else '' end is_ratify,
+        ratify_tell
+        from (
+        select
+        ir.*,
+        io.entrust_code,
+        u.name write_user_name,
+        u1.name ratify_user,
+        u2.name examine_user,
+        io.type_source,
+        io.order_type,
+        io.laboratory,
+        io.ifs_inventory_id,
+        iiq.is_copper,
         ip.son_laboratory
         from ins_report ir
         left join ins_order io on io.id = ir.ins_order_id
@@ -30,10 +116,8 @@
         where 1=1
         and ir.is_pass = 1
         <if test="createOrderUser != null and createOrderUser != ''">
-            and (ir.write_user_id = #{createOrderUser} or ir.examine_user_id = #{createOrderUser} or ir.ratify_user_id = #{createOrderUser})
-        </if>
-        <if test="laboratory!=null and laboratory!=''">
-           and  laboratory=#{laboratory}
+            and (ir.write_user_id = #{createOrderUser} or ir.examine_user_id = #{createOrderUser} or ir.ratify_user_id =
+            #{createOrderUser})
         </if>
         <if test="queryStatus != null and queryStatus != ''">
             <!-- 寰呮彁浜�-->
@@ -55,13 +139,5 @@
             ${ew.customSqlSegment}
         </if>
         ORDER BY a.create_time DESC
-    </select>
-    <select id="getLaboratoryByName" resultType="java.lang.String">
-        select s.address from seal s
-        left join laboratory l on s.lab_id = l.id
-        where l.laboratory_name = #{name}
-        and s.type = #{type}
-        order by s.create_time desc
-        limit 1
     </select>
 </mapper>

--
Gitblit v1.9.3