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/InsOrderRatesMapper.xml |   27 +++++++++++++--------------
 1 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml
index 402a50a..4791cf3 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml
@@ -11,26 +11,25 @@
         then io.sample_view
         else io.sample end                            sampleStr,
         GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
-        sum(tempior.rates) + 200 total_price
+        COALESCE(sum(st.price), 0) total_price
         from ins_order io
         LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
-        left join (
-        select ior.id, ior.ins_order_id, ior.rates from
-        ins_order_rates ior
-        left join ins_product ip on ip.id = ior.ins_product_id
-        left join ins_order io2 on ior.ins_order_id = io2.id
-        GROUP BY CASE
-        WHEN ior.man_hour_group IS NOT NULL AND ior.man_hour_group != '' THEN ior.man_hour_group
-        ELSE ior.id END,
-        CASE WHEN ior.man_hour_group IS NOT NULL AND ior.man_hour_group != '' THEN ior.ins_sample_id ELSE ior.id END,
-        CASE WHEN ior.man_hour_group IS NOT NULL AND ior.man_hour_group != '' THEN ip.radius ELSE ior.id END,
-        CASE WHEN ior.man_hour_group IS NOT NULL AND ior.man_hour_group != '' THEN ip.cable_tag ELSE ior.id END,
-        CASE WHEN ior.man_hour_group IS NOT NULL AND ior.man_hour_group != '' THEN ior.ins_order_id ELSE ior.id END) tempior on tempior.ins_order_id = io.id
-        where tempior.id is not null
+        left join ins_order_standard_template iost on iost.ins_order_id = io.id
+        left join standard_template st on st.id = iost.template_id
+        where iost.id is not null
         group by io.id) a
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
         </if>
     </select>
 
+    <!-- 鏌ヨ璁㈠崟璐圭敤璇︽儏锛堟ā鏉夸环鏍硷級 -->
+    <select id="selectTemplateRatesDetail" resultType="com.ruoyi.inspect.dto.TemplateRateDto">
+        select iost.number, iost.name, COALESCE(st.price, 0) as price
+        from ins_order_standard_template iost
+        left join standard_template st on st.id = iost.template_id
+        where iost.ins_order_id = #{insOrderId}
+        order by iost.sort, iost.id
+    </select>
+
 </mapper>

--
Gitblit v1.9.3