From 444409ba734d4457f9109f0b71422b83fed60cd6 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 24 九月 2026 11:14:20 +0800
Subject: [PATCH] refactor(inspect): 重构设备列表查询和报告生成逻辑
---
inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 86 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 76 insertions(+), 10 deletions(-)
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index fb57bb0..798924f 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -115,12 +115,14 @@
GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
u.name,
testing_name,
- ip.son_laboratory
+ ip.son_laboratory,
+ isr.reject_remark AS sample_reject_remark
FROM
ins_order io
LEFT JOIN
ins_sample isa ON io.id = isa.ins_order_id
left join ins_product ip on ip.ins_sample_id = isa.id
+ LEFT JOIN ins_sample_receipt isr ON isr.ins_order_id = io.id
LEFT JOIN
ins_sample_user isau ON isau.ins_sample_id = io.id
LEFT JOIN
@@ -136,13 +138,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
@@ -152,7 +154,10 @@
ORDER BY ins_sample_id) isu ON isu.ins_sample_id = io.id
where (io.ifs_inventory_id IS NULL OR TRIM(io.ifs_inventory_id) = '')
<if test="isOrderAll != null and isOrderAll != ''">
- AND io.state in (1, 4)
+ AND io.state in (1, 4, 5)
+ </if>
+ <if test="receiptSubmitted != null and receiptSubmitted != ''">
+ AND isr.status = 1
</if>
<if test="laboratory!=null and laboratory!=''">
AND io.laboratory=#{laboratory}
@@ -181,6 +186,8 @@
type,
entrust_code,
company,
+ sample,
+ sample_view,
remark,
create_time,
state
@@ -234,7 +241,7 @@
</if>
</select>
- <select id="selectDeviceList" resultType="java.util.Map">
+ <select id="selectDeviceListByIds" resultType="java.util.Map">
select device_name,
en_device_name,
specification_model,
@@ -242,10 +249,14 @@
date_format(activation_date,'%Y-%m-%d')
latest_traceability
from device
- where device.management_number in
- <foreach collection="managementNumbers" index="index" open="(" separator="," close=")" item="val">
+ where device.id in
+ <foreach collection="deviceIds" index="index" open="(" separator="," close=")" item="val">
#{val}
</foreach>
+ order by field(device.id,
+ <foreach collection="deviceIds" index="index" separator="," item="val">
+ #{val}
+ </foreach>)
</select>
<update id="updateStatus">
@@ -278,6 +289,23 @@
select code
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
@@ -335,7 +363,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(*)
@@ -392,6 +420,7 @@
GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
io2.prepare_user,
io2.entrust_code,
+ GROUP_CONCAT(DISTINCT isa.sample_code SEPARATOR ' ') AS sample_code,
io2.test_quantity,
io2.ins_state,
JSON_OBJECT(
@@ -400,7 +429,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">
@@ -414,7 +443,7 @@
from ( <include refid="selectInsOrderExport"/>
where (io.ifs_inventory_id IS NULL OR TRIM(io.ifs_inventory_id) = '')
<if test="isOrderAll != null and isOrderAll != ''">
- AND io.state in (1, 4)
+ AND io.state in (1, 4, 5)
</if>
<if test="laboratory!=null and laboratory!=''">
AND io.laboratory=#{laboratory}
@@ -507,4 +536,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