From 31ccc9cd47f96cea6e4e13b078187fd3201c4666 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 04 九月 2026 16:35:24 +0800
Subject: [PATCH] feat(report): 更新检测报告模板并优化报告生成功能 - 优化设备信息展示格式,支持多设备列表显示 - 统一检测报告和检验报告使用新版模板格式
---
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 164 +++++++++++++++++++++---------------------------------
1 files changed, 63 insertions(+), 101 deletions(-)
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index fc3d7da..59e0cfd 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -61,6 +61,7 @@
<result property="tell" column="tell" jdbcType="VARCHAR"/>
<result property="lastValue" column="last_value" jdbcType="VARCHAR"/>
<result property="insResult" column="ip_ins_result" jdbcType="INTEGER"/>
+ <result property="isBinding" column="ip_is_binding" jdbcType="INTEGER"/>
<result property="state" column="state" jdbcType="INTEGER"/>
<result property="insBushId" column="ins_bush_id" jdbcType="INTEGER"/>
<result property="insSampleId" column="ins_sample_id" jdbcType="INTEGER"/>
@@ -141,9 +142,10 @@
man_day,
bsm,
ask,
- `last_value`,
- ip.ins_result ip_ins_result,
- state,
+ `last_value`,
+ ip.ins_result ip_ins_result,
+ ip.is_binding ip_is_binding,
+ state,
ins_sample_id,
ip.create_user ip_create_user,
ip.update_user ip_update_user,
@@ -164,14 +166,11 @@
<select id="findInsSampleAndOrder" resultType="com.ruoyi.inspect.vo.InsOrderPlanVO">
- SELECT *
- FROM (
+ select * from(select * from(
SELECT
- a.*,
- ios.ins_state,
- ios.verify_tell,
- ios.verify_user
- FROM (
+ a.*,ios.ins_state,ios.verify_tell,verify_user
+ FROM
+ (
SELECT
io.id,
io.entrust_code,
@@ -179,124 +178,83 @@
io.appointed,
io.send_time,
io.order_type,
- CASE WHEN io.type_source = 0 THEN io.sample_view ELSE io.sample END AS sample,
+ case when
+ io.type_source = 0
+ then io.sample_view
+ else io.sample end sample,
GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
- MAX(isu.userName) AS userName,
- MAX(isu2.checkName) AS checkName,
- GROUP_CONCAT(DISTINCT ip.son_laboratory) AS son_laboratory,
+ userName,
+ checkName,
+ ip.son_laboratory,
io.ins_time,
io.laboratory,
io.type_source,
io.ifs_inventory_id,
- MAX(ira.id) AS ins_report_id,
- MAX(ira.url) AS url,
- MAX(ira.url_s) AS url_s,
- MAX(ira.temp_url_pdf) AS temp_url_pdf,
- MAX(iiq.is_copper) AS is_copper
- FROM ins_order io
- INNER JOIN ins_sample isa ON isa.ins_order_id = io.id
+ ira.id ins_report_id,
+ ira.url,
+ ira.url_s,
+ ira.temp_url_pdf,
+ iiq.is_copper,
+ iiq.is_split_order,
+ iiq.material_prop AS material_prop
+ FROM
+ ins_order io
+ LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
LEFT JOIN ins_report ira ON ira.ins_order_id = io.id
LEFT JOIN ifs_inventory_quantity iiq ON iiq.id = io.ifs_inventory_id
LEFT JOIN (
- SELECT
- ins_sample_id,
- GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS userName
- FROM ins_sample_user u
- INNER JOIN user uu ON u.user_id = uu.id
- WHERE u.state = 0
- <if test="sonLaboratory != null and sonLaboratory != ''">
- AND u.son_laboratory = #{sonLaboratory}
+ SELECT ins_sample_id,GROUP_CONCAT( DISTINCT uu.name SEPARATOR ',') AS userName
+ FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id
+ WHERE u.state=0
+ <if test="sonLaboratory!= null and sonLaboratory != ''">
+ and son_laboratory=#{sonLaboratory}
</if>
GROUP BY ins_sample_id
+ ORDER BY ins_sample_id
) isu ON isu.ins_sample_id = io.id
LEFT JOIN (
- SELECT
- ins_sample_id,
- MAX(uu.name) AS checkName
- FROM ins_sample_user u
- INNER JOIN user uu ON u.user_id = uu.id
- WHERE u.state = 1
- <if test="sonLaboratory != null and sonLaboratory != ''">
- AND u.son_laboratory = #{sonLaboratory}
+ SELECT ins_sample_id,uu.name checkName
+ FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id
+ WHERE u.state=1
+ <if test="sonLaboratory!= null and sonLaboratory != ''">
+ and son_laboratory=#{sonLaboratory}
</if>
GROUP BY ins_sample_id
- ) isu2 ON isu2.ins_sample_id = io.id
+ ORDER BY ins_sample_id
+ )isu2 ON isu2.ins_sample_id = io.id
LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
-
- WHERE io.state = 1
- AND io.send_time IS NOT NULL
-
+ WHERE io.state = 1 and send_time is not null
<if test="isCheck != null">
- <if test="userName != null and userName != ''">
- AND EXISTS (
- SELECT 1
- FROM ins_sample_user iu
- JOIN user u ON iu.user_id = u.id
- WHERE iu.ins_sample_id = io.id
- AND iu.state = 1
- AND u.name LIKE CONCAT('%', #{userName}, '%')
- <if test="sonLaboratory != null and sonLaboratory != ''">
- AND iu.son_laboratory = #{sonLaboratory}
- </if>
- )
+ <if test="userName !=null and userName!=''">
+ and checkName like CONCAT ('%', #{userName},'%')
</if>
</if>
-
<if test="isCheck == null">
- <if test="userName != null and userName != ''">
- AND EXISTS (
- SELECT 1
- FROM ins_sample_user iu
- JOIN user u ON iu.user_id = u.id
- WHERE iu.ins_sample_id = io.id
- AND iu.state = 0
- AND u.name LIKE CONCAT('%', #{userName}, '%')
- <if test="sonLaboratory != null and sonLaboratory != ''">
- AND iu.son_laboratory = #{sonLaboratory}
- </if>
- )
+ <if test="userName !=null and userName!=''">
+ and userName like CONCAT ('%', #{userName},'%')
</if>
</if>
-
- <if test="sonLaboratory != null and sonLaboratory != ''">
- AND EXISTS (
- SELECT 1
- FROM ins_product ip2
- WHERE ip2.ins_sample_id = isa.id
- AND ip2.son_laboratory = #{sonLaboratory}
- )
+ <if test="sonLaboratory!= null and sonLaboratory != ''">
+ and ip.son_laboratory = #{sonLaboratory}
</if>
-
- GROUP BY io.id
+ GROUP BY
+ ip.son_laboratory,
+ io.id
) a
-
- LEFT JOIN (
- SELECT *
- FROM (
- SELECT *,
- ROW_NUMBER() OVER (PARTITION BY ins_order_id ORDER BY update_time DESC, id DESC) AS rn
- FROM ins_order_state
- ) ios
- WHERE ios.rn = 1
- <if test="sonLaboratory != null and sonLaboratory != ''">
- AND ios.laboratory = #{sonLaboratory}
+ LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
+ ORDER BY
+ a.type DESC,
+ a.id
+ ) b
+ where ins_state is not null
+ <if test="laboratory!=null and laboratory!=''">
+ and laboratory=#{laboratory}
</if>
- ) ios ON ios.ins_order_id = a.id
-
- WHERE ios.ins_state IS NOT NULL
-
- <if test="laboratory != null and laboratory != ''">
- AND a.laboratory = #{laboratory}
- </if>
-
- ORDER BY a.type DESC, a.id
- ) A
-
+ )A
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
-
- ORDER BY send_time ASC
+ ORDER BY send_time desc
</select>
@@ -401,6 +359,7 @@
tell,
`last_value`,
ip.ins_result ip_ins_result,
+ ip.is_binding ip_is_binding,
state,
ins_sample_id,
ip.create_user ip_create_user,
@@ -460,6 +419,7 @@
ask,
`last_value`,
ip.ins_result ip_ins_result,
+ ip.is_binding ip_is_binding,
state,
ins_sample_id,
ip.create_user ip_create_user,
@@ -550,6 +510,7 @@
tell,
`last_value`,
ip.ins_result ip_ins_result,
+ ip.is_binding ip_is_binding,
state,
ins_sample_id,
ip.create_user ip_create_user,
@@ -562,6 +523,7 @@
ipr.equip_value,
ip.method_s,
ip.radius,
+ ip.structure_item_parameter_id,
isa.special_standard_method
from ins_sample isa
left join ins_product ip on isa.id = ip.ins_sample_id
--
Gitblit v1.9.3