From 1c8ab7e48b85ab6ee54cebc691467041fbf2799b Mon Sep 17 00:00:00 2001
From: deslrey <deslre0381@gmail.com>
Date: 星期一, 12 一月 2026 14:54:59 +0800
Subject: [PATCH] 外购报告调整:电缆颜色顺序要与下单一致

---
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml |   68 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 6 deletions(-)

diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 78b65f5..df67330 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
@@ -408,6 +410,43 @@
         </foreach>
     </select>
 
+    <!-- 澶栬喘涓嬪崟鎴愬搧鏍囩鎵撳嵃 -->
+    <select id="labelOutsideOrderPrinting" resultType="com.ruoyi.basic.dto.InventoryDetailDTO">
+        SELECT
+        iiq.id,
+        iiq.part_desc,
+        iiq.lot_batch_no,
+        iiq.part_no,
+        ippr.insulation_color,
+        ippr.outer_color,
+        ippr.drum_no,
+        ippr.start_meter_mark,
+        ippr.end_meter_mark,
+        io.update_time,
+        io.ins_state,
+        -- 妫�楠屼汉鏌ヨ锛氫紭鍏堝彇鎸囨淳鐨勮礋璐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>
+    </select>
+
     <!-- 鏌ヨ妫�楠屽崟鏁版嵁 -->
     <select id="rawAllInsOrderExport" resultType="com.ruoyi.inspect.dto.SampleOrderDto">
         select *
@@ -471,13 +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.order_type AS ifs_order_type,
                 iiq.part_no,
-                iiq.update_batch_no AS lot_batch_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
@@ -486,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