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