<?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>
|