huminmin
2026-06-05 24019a8c1d8e78656e85b29ee7be223e0dd253a0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?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.report.mapper.NormalDistributionMapper">
 
    <!-- 查询检测项数据 -->
    <select id="getItemData" resultType="java.util.Map">
        SELECT
            s.sample_code AS sampleCode,
            s.sample AS sampleName,
            p.inspection_item AS itemName,
            p.last_value AS lastValue,
            o.ins_time AS insTime
        FROM ins_product p
        LEFT JOIN ins_sample s ON p.ins_sample_id = s.id
        LEFT JOIN ins_order o ON s.ins_order_id = o.id
        WHERE p.ins_result IS NOT NULL AND p.last_value IS NOT NULL
        <if test="dto.itemName != null and dto.itemName != ''">
            AND p.inspection_item = #{dto.itemName}
        </if>
        <if test="dto.sampleName != null and dto.sampleName != ''">
            AND s.sample LIKE CONCAT('%', #{dto.sampleName}, '%')
        </if>
        <if test="dto.startDate != null and dto.startDate != ''">
            AND o.ins_time >= #{dto.startDate}
        </if>
        <if test="dto.endDate != null and dto.endDate != ''">
            AND o.ins_time &lt;= #{dto.endDate}
        </if>
        ORDER BY o.ins_time ASC
    </select>
 
    <!-- 查询可选检测项 -->
    <select id="getItemNames" resultType="java.lang.String">
        SELECT DISTINCT p.inspection_item
        FROM ins_product p
        LEFT JOIN ins_sample s ON p.ins_sample_id = s.id
        WHERE p.ins_result IS NOT NULL AND p.last_value IS NOT NULL
        <if test="dto.sampleName != null and dto.sampleName != ''">
            AND s.sample LIKE CONCAT('%', #{dto.sampleName}, '%')
        </if>
        ORDER BY p.inspection_item ASC
    </select>
 
    <!-- 查询可选样品名称列表 -->
    <select id="getSampleNames" resultType="java.lang.String">
        SELECT DISTINCT s.sample
        FROM ins_product p
        LEFT JOIN ins_sample s ON p.ins_sample_id = s.id
        LEFT JOIN ins_order o ON s.ins_order_id = o.id
        WHERE p.ins_result IS NOT NULL AND p.last_value IS NOT NULL
        <if test="dto.itemName != null and dto.itemName != ''">
            AND p.inspection_item = #{dto.itemName}
        </if>
        ORDER BY s.sample ASC
    </select>
 
</mapper>