From a1fde96b1f1bf7e8a337a3550e41418e88e7bc97 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 14 一月 2026 11:09:37 +0800
Subject: [PATCH] fix:委托下单的标签打印的type_source查询错误

---
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml |   73 +++++++++++++++++++++++++++++++++---
 1 files changed, 66 insertions(+), 7 deletions(-)

diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 6f39cfc..d145a9b 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -326,6 +326,7 @@
         ORDER BY COUNT(*) DESC
         LIMIT 1;
     </select>
+
     <select id="selectSampleCableTag" resultType="java.lang.String">
         SELECT ip.cable_tag
         FROM ins_sample isa
@@ -333,10 +334,11 @@
                  LEFT JOIN ins_product ip ON isa.id = ip.ins_sample_id
         WHERE ip.state = 1
           AND isa.id = #{id}
-          and ip.cable_tag is not null
+          AND ip.cable_tag IS NOT NULL
         GROUP BY ip.cable_tag
-        order by ip.cable_tag
+        ORDER BY MIN(ip.id)
     </select>
+
     <select id="selectSampleItemS" resultType="java.lang.Integer">
         select count(*)
         from (select distinct ip.inspection_item
@@ -400,9 +402,46 @@
                      )                                                 labelBarCode
               from ins_order io2
                        LEFT JOIN ins_sample isa ON io2.id = isa.ins_order_id
-              where type_source = 0
+              where type_source = -1
               GROUP BY io2.id) a
         where insOrderId in
+        <foreach collection="ids" index="index" open="(" separator="," close=")" item="val">
+            #{val}
+        </foreach>
+    </select>
+
+    <!-- 澶栬喘涓嬪崟鎴愬搧鏍囩鎵撳嵃 -->
+    <select id="labelOutsideOrderPrinting" resultType="com.ruoyi.basic.dto.InventoryDetailDTO">
+        SELECT
+        iiq.id,
+        iiq.part_desc,
+        iiq.lot_batch_no,
+        iiq.part_no,
+        iiq.inspect_status as ins_state,
+        ippr.insulation_color,
+        ippr.outer_color,
+        ippr.drum_no,
+        ippr.start_meter_mark,
+        ippr.end_meter_mark,
+        io.update_time,
+        -- 妫�楠屼汉鏌ヨ锛氫紭鍏堝彇鎸囨淳鐨勮礋璐d汉锛屽鏋滄病鏈夊垯鍙栬鍗曞垱寤轰汉
+        COALESCE(isu.userName, u.name) AS inspector_name
+        FROM ifs_inventory_quantity iiq
+        LEFT JOIN ifs_part_props_record ippr ON ippr.ifs_inventory_id = iiq.id
+        LEFT JOIN ins_order io ON io.ifs_inventory_id = iiq.id AND io.state != -1
+        -- 鍏宠仈鐢ㄦ埛琛紝鐢ㄤ簬鑾峰彇璁㈠崟鍒涘缓浜哄鍚�
+        LEFT JOIN user u ON io.create_user = u.id
+        -- 鍏宠仈瀛愭煡璇紝鐢ㄤ簬鑾峰彇 ins_sample_user 琛ㄤ腑鎸囨淳鐨勬楠岃礋璐d汉
+        LEFT JOIN (
+        SELECT
+        ins_sample_id,
+        GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS userName
+        FROM ins_sample_user isu_inner
+        LEFT JOIN user uu ON isu_inner.user_id = uu.id
+        WHERE isu_inner.state = 0
+        GROUP BY ins_sample_id
+        ) isu ON isu.ins_sample_id = io.id
+        WHERE iiq.id IN
         <foreach collection="ids" index="index" open="(" separator="," close=")" item="val">
             #{val}
         </foreach>
@@ -471,10 +510,29 @@
     </select>
     <select id="selectOrderInfoById" resultType="com.ruoyi.inspect.vo.IfsOrderVO">
         select  io.*,
-                isor.insulation_color,
-                isor.outer_color,
-                isor.drum_no,
-                iiq.is_split_order
+                iiq.is_split_order,
+                iiq.order_type AS ifs_order_type,
+                iiq.part_no,
+                iiq.update_batch_no AS lot_batch_no,
+                ipps.id AS lot_part_id,
+                case
+                    when ipps.drum_no is not null and ipps.drum_no!='' then ipps.drum_no
+                    else isor.drum_no
+                    end AS drum_no,
+                case
+                    when ipps.insulation_color is not null and ipps.insulation_color!='' then ipps.insulation_color
+                    else isor.insulation_color
+                    end AS insulation_color,
+                case
+                    when ipps.outer_color is not null and ipps.outer_color!='' then ipps.outer_color
+                    else isor.outer_color
+                    end AS outer_color,
+                case
+                    when ipps.lettering_info is not null and ipps.lettering_info!='' then ipps.lettering_info
+                    else isor.lettering_info
+                    end AS lettering_info,
+                ipps.start_meter_mark,
+                ipps.end_meter_mark
         from ins_order io left join ifs_inventory_quantity iiq on io.ifs_inventory_id=iiq.id
                           left join ifs_split_order_record isor
                                     on iiq.order_no=isor.order_no
@@ -483,6 +541,7 @@
                                         and iiq.receipt_no=isor.receipt_no
                                         and iiq.part_no=isor.part_no
                                         AND iiq.update_batch_no = isor.lot_batch_no
+            LEFT JOIN ifs_part_props_record ipps ON iiq.id = ipps.ifs_inventory_id
         where io.state !=-1
         AND io.id = #{id}
         LIMIT 1

--
Gitblit v1.9.3