From fbd4ecb70baf2e671876ca809a81f6e6fe7342ee Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期日, 20 九月 2026 19:52:50 +0800
Subject: [PATCH] feat(inspect): 新增检测标准方法报告文本功能并优化报告生成 - 委托编号生成逻辑调整为下单时生成并校验唯一性,避免审核时重复 - 新增标准模板价格字段及对应的数据模型和数据库映射 - 订单费用详情查询逻辑重构为基于模板价格计算方式 - 新增标准模板与设备绑定关系的数据结构和管理功能 - 委托编号唯一性校验逻辑增强

---
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml |   64 ++++++++++++++++++++++++++++++--
 1 files changed, 60 insertions(+), 4 deletions(-)

diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index fb57bb0..8589361 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -136,13 +136,13 @@
         (SELECT ins_sample.ins_order_id, COUNT(*) AS total_count
         FROM ins_product
         JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
-        WHERE ins_product.state = 1
+        WHERE ins_product.state = 1 and is_binding !=1
         GROUP BY ins_sample.ins_order_id) total_product_counts ON io.id = total_product_counts.ins_order_id
         LEFT JOIN
         (SELECT ins_sample.ins_order_id, COUNT(*) AS approved_count
         FROM ins_product
         JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
-        WHERE ins_product.state = 1 AND ins_product.ins_result IS NOT NULL
+        WHERE ins_product.state = 1 and is_binding !=1 AND ins_product.ins_result IS NOT NULL
         GROUP BY ins_sample.ins_order_id) approved_product_counts ON io.id = approved_product_counts.ins_order_id
         LEFT JOIN (SELECT ins_sample_id, GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS testing_name
         FROM ins_sample_user u
@@ -181,6 +181,8 @@
         type,
         entrust_code,
         company,
+        sample,
+        sample_view,
         remark,
         create_time,
         state
@@ -279,6 +281,23 @@
         from standard_method
         where id = #{id}
     </select>
+    <select id="getStandardMethodReportText" resultType="java.lang.String">
+        select case
+                   when name is null or trim(name) = '' then code
+                   else concat(code, '銆�', name, '銆�')
+               end
+        from standard_method
+        where id = #{id}
+    </select>
+    <select id="getStandardMethodReportTextByCode" resultType="java.lang.String">
+        select case
+                   when name is null or trim(name) = '' then code
+                   else concat(code, '銆�', name, '銆�')
+               end
+        from standard_method
+        where code = #{code}
+        limit 1
+    </select>
     <select id="selLaboratoryCode" resultType="java.lang.String">
         select laboratory_code
         from laboratory
@@ -335,7 +354,7 @@
           AND isa.id = #{id}
           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(*)
@@ -400,7 +419,7 @@
                      )                                                 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">
@@ -507,4 +526,41 @@
           AND io.id = #{id}
         LIMIT 1
     </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>
 </mapper>

--
Gitblit v1.9.3