From 66c8426d63806000326b1341a7e19200afa5fa72 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 23 九月 2026 16:56:24 +0800
Subject: [PATCH] fix(data): 修复样品名称查询

---
 inspect-server/src/main/resources/mapper/InsSampleReceiptMapper.xml |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 0 deletions(-)

diff --git a/inspect-server/src/main/resources/mapper/InsSampleReceiptMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleReceiptMapper.xml
new file mode 100644
index 0000000..8dbe4e5
--- /dev/null
+++ b/inspect-server/src/main/resources/mapper/InsSampleReceiptMapper.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.inspect.mapper.InsSampleReceiptMapper">
+    <sql id="receiptColumns">
+        r.id receipt_id, r.ins_order_id order_id, r.ins_sample_id sample_id, r.status,
+        COALESCE(NULLIF(io.sample_view, ''), isa.sample) AS sample_name, isa.sample_code, io.entrust_code,
+        COALESCE(iost.method_standard, sm.code) method_standard,
+        ip.inspection_item, r.main_inspector_id, u.name main_inspector_name,
+        COALESCE(isa.remark, io.remark) remark, r.reject_remark, r.receive_time,
+        ru.name receive_user_name
+    </sql>
+    <select id="selectPage" resultType="com.ruoyi.inspect.dto.SampleReceiptPageDto">
+        SELECT
+        <include refid="receiptColumns"/>
+        FROM ins_sample_receipt r
+        JOIN ins_order io ON io.id = r.ins_order_id
+        JOIN ins_sample isa ON isa.id = r.ins_sample_id
+        LEFT JOIN standard_method sm ON sm.id = isa.standard_method_list_id
+        LEFT JOIN (
+        SELECT ins_order_id,
+        GROUP_CONCAT(DISTINCT number ORDER BY sort SEPARATOR '\n') method_standard
+        FROM ins_order_standard_template
+        GROUP BY ins_order_id
+        ) iost ON iost.ins_order_id = io.id
+        LEFT JOIN (
+        SELECT ins_sample_id,
+        GROUP_CONCAT(DISTINCT inspection_item ORDER BY sort SEPARATOR '\n') inspection_item
+        FROM ins_product
+        WHERE state = 1
+        GROUP BY ins_sample_id
+        ) ip ON ip.ins_sample_id = isa.id
+        LEFT JOIN user u ON u.id = r.main_inspector_id
+        LEFT JOIN user ru ON ru.id = r.receive_user_id
+        WHERE 1 = 1
+        <if test="query.status != null">AND r.status = #{query.status}</if>
+        <if test="query.entrustCode != null and query.entrustCode != ''">AND io.entrust_code LIKE CONCAT('%',
+            #{query.entrustCode}, '%')
+        </if>
+        <if test="query.sampleCode != null and query.sampleCode != ''">AND isa.sample_code LIKE CONCAT('%',
+            #{query.sampleCode}, '%')
+        </if>
+        <if test="query.sampleName != null and query.sampleName != ''">AND COALESCE(NULLIF(io.sample_view, ''), isa.sample)
+            LIKE CONCAT('%', #{query.sampleName}, '%')
+        </if>
+        GROUP BY r.id
+        ORDER BY r.create_time DESC
+    </select>
+    <select id="selectDetail" resultType="com.ruoyi.inspect.dto.SampleReceiptPageDto">
+        SELECT <include refid="receiptColumns"/>
+        FROM ins_sample_receipt r
+        JOIN ins_order io ON io.id = r.ins_order_id
+        JOIN ins_sample isa ON isa.id = r.ins_sample_id
+        LEFT JOIN standard_method sm ON sm.id = isa.standard_method_list_id
+        LEFT JOIN (
+            SELECT ins_order_id,
+                   GROUP_CONCAT(DISTINCT number ORDER BY sort SEPARATOR '\n') method_standard
+            FROM ins_order_standard_template
+            GROUP BY ins_order_id
+        ) iost ON iost.ins_order_id = io.id
+        LEFT JOIN (
+            SELECT ins_sample_id,
+                   GROUP_CONCAT(DISTINCT inspection_item ORDER BY sort SEPARATOR '\n') inspection_item
+            FROM ins_product
+            WHERE state = 1
+            GROUP BY ins_sample_id
+        ) ip ON ip.ins_sample_id = isa.id
+        LEFT JOIN user u ON u.id = r.main_inspector_id
+        LEFT JOIN user ru ON ru.id = r.receive_user_id
+        WHERE r.id = #{id}
+        GROUP BY r.id
+    </select>
+    <select id="selectExportList" resultType="com.ruoyi.inspect.dto.SampleReceiptPageDto">
+        SELECT <include refid="receiptColumns"/>
+        FROM ins_sample_receipt r
+        JOIN ins_order io ON io.id = r.ins_order_id
+        JOIN ins_sample isa ON isa.id = r.ins_sample_id
+        LEFT JOIN standard_method sm ON sm.id = isa.standard_method_list_id
+        LEFT JOIN (
+            SELECT ins_order_id,
+                   GROUP_CONCAT(DISTINCT number ORDER BY sort SEPARATOR '\n') method_standard
+            FROM ins_order_standard_template
+            GROUP BY ins_order_id
+        ) iost ON iost.ins_order_id = io.id
+        LEFT JOIN (
+            SELECT ins_sample_id,
+                   GROUP_CONCAT(DISTINCT inspection_item ORDER BY sort SEPARATOR '\n') inspection_item
+            FROM ins_product
+            WHERE state = 1
+            GROUP BY ins_sample_id
+        ) ip ON ip.ins_sample_id = isa.id
+        LEFT JOIN user u ON u.id = r.main_inspector_id
+        LEFT JOIN user ru ON ru.id = r.receive_user_id
+        WHERE 1 = 1
+        <if test="query.status != null"> AND r.status = #{query.status}</if>
+        <if test="query.entrustCode != null and query.entrustCode != ''"> AND io.entrust_code LIKE CONCAT('%', #{query.entrustCode}, '%')</if>
+        <if test="query.sampleCode != null and query.sampleCode != ''"> AND isa.sample_code LIKE CONCAT('%', #{query.sampleCode}, '%')</if>
+        <if test="query.sampleName != null and query.sampleName != ''"> AND COALESCE(NULLIF(io.sample_view, ''), isa.sample) LIKE CONCAT('%', #{query.sampleName}, '%')</if>
+        GROUP BY r.id
+        ORDER BY r.create_time DESC
+    </select>
+    <select id="selectForUpdate" resultType="com.ruoyi.inspect.pojo.InsSampleReceipt">
+        SELECT * FROM ins_sample_receipt WHERE id = #{id} FOR UPDATE
+    </select>
+    <insert id="insertIgnore">
+        INSERT IGNORE INTO ins_sample_receipt(ins_order_id, ins_sample_id, status, create_time, update_time)
+        VALUES(#{orderId}, #{sampleId}, 0, NOW(), NOW())
+    </insert>
+</mapper>

--
Gitblit v1.9.3