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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?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.basic.mapper.StandardMethodMapper">
 
    <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardMethod">
        <id property="id" column="id" jdbcType="INTEGER"/>
        <result property="code" column="code" jdbcType="VARCHAR"/>
        <result property="name" column="name" jdbcType="VARCHAR"/>
        <result property="remark" column="remark" jdbcType="VARCHAR"/>
        <result property="createUser" column="create_user" jdbcType="INTEGER"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
    </resultMap>
 
    <select id="selectStandardMethodList" resultType="com.ruoyi.basic.pojo.StandardMethod">
        select * from (
                select sm.id,
                sm.code,
                sm.name,
                sm.structure_test_object_id,
                sm.remark,
                u1.name create_user_name,
                sm.create_time,
                u2.name update_user_name,
                sm.update_time,
                sm.is_product,
                sm.field,
                sm.name_en,
                sm.is_use,
                sm.qualification_id,
                COALESCE((SELECT GROUP_CONCAT(l.laboratory_name ORDER BY COALESCE(l.sort, 0), l.id SEPARATOR '、')
                          FROM standard_method_industry smi JOIN laboratory l ON l.id = smi.industry_id
                          WHERE smi.standard_method_id = sm.id), '') industry_names,
                (SELECT COUNT(*) FROM standard_method_attachment sma WHERE sma.standard_method_id = sm.id) attachment_count
                from standard_method sm
                left join user u1 on sm.create_user = u1.id
                left join user u2 on sm.update_user = u2.id
                where sm.code != '技术要求'
                ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="selectStandMethodById" resultType="com.ruoyi.basic.pojo.StandardMethod">
        select sm.id,
               sm.code,
               sm.name,
               sm.structure_test_object_id,
               sto.specimen_name sample_type,
               sm.remark,
               u1.name create_user_name,
               sm.create_time,
               u2.name update_user_name,
               sm.update_time,
               sm.is_product,
               sm.field,
               sm.name_en,
               sm.is_use,
               sm.qualification_id
        from standard_method sm
                 left join user u1 on sm.create_user = u1.id
                 left join user u2 on sm.update_user = u2.id
                 left join structure_test_object sto on sm.structure_test_object_id = sto.id
        where sm.id = #{id}
    </select>
 
    <select id="selectStandardMethodLists" resultType="com.ruoyi.basic.pojo.StandardMethodList">
        select id, code, name, remark
        from standard_method
        where is_use = 1
          and is_product = 1
          and structure_test_object_id LIKE CONCAT('%[', #{tree}, ']%')
    </select>
 
    <select id="selectStandardMethodLists3" resultType="com.ruoyi.basic.pojo.StandardMethodList">
        select id, code, name, remark
        from standard_method
        where is_use = 1
          and is_product = 1
          and structure_test_object_id LIKE CONCAT('%', #{tree}, '%')
    </select>
    <select id="selectStandardMethodListsByIndustry" resultType="com.ruoyi.basic.pojo.StandardMethodList">
        select sm.id, sm.code, sm.name, sm.remark
        from standard_method sm
                 inner join standard_method_industry smi on smi.standard_method_id = sm.id
                 inner join laboratory l on l.id = smi.industry_id
        where sm.is_use = 1
          and sm.is_product = 1
          and l.laboratory_name = #{industry}
        order by sm.id
    </select>
    <select id="selectListEnum" resultType="com.ruoyi.basic.pojo.StandardMethodList">
        select id,code,name from standard_method
        where is_product = 1
          and is_use = 1
    </select>
    <select id="selectStandardMethodListsByNull" resultType="com.ruoyi.basic.pojo.StandardMethodList">
        select id, code, name, remark
        from standard_method
        where is_use = 1
          and is_product = 1
          and (
            structure_test_object_id is null
                OR structure_test_object_id = ''
                OR structure_test_object_id = '[]'
            )
    </select>
    <select id="getStandardMethodId" resultType="java.lang.Integer">
        select id from standard_method where code = #{code}
    </select>
</mapper>