zss
2024-07-30 124ecca15d3c5d6dcefa9a27aaa3c07c556674e9
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<?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.yuanchu.mom.mapper.DeviceMapper">
    <select id="selectDeviceParameter" resultType="com.yuanchu.mom.pojo.Device">
        select * from(
        select id,
        large_category,
        date_production,
        equipment_manager,
        authorized_person,
        device_name,
        internal_code,
        asset_code,
        calibration_date,
        scrap_time,
        acceptance_records,
        subclass,
        factory_no,
        acquisition_date,
        accurate_measurement,
        specification_model,
        device_status,
        storage_point,
        activation_date,
        latest_traceability,
        down_time,
        maintenance_records,
        manufacturer,
        detection_type,
        procurement_costs,
        calibration_certicate,
        create_user,
        create_time,
        update_user,
        update_time,
        status
        from device
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="selectEquipmentOverview" resultType="com.yuanchu.mom.pojo.Device">
        select * from(
        select id,
        device_name,
        specification_model,
        device_status,
        create_user,
        status,
        update_time
        from device
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="authorizedPerson" resultType="com.yuanchu.mom.pojo.Device">
        select id,
               authorized_person
        from device
    </select>
    <select id="search" resultType="com.yuanchu.mom.pojo.Device">
        select *
        from device
        <where>
            <if test="deviceName!=null and deviceName!=''">
                and device_name like concat('%',#{deviceName},'%')
            </if>
            <if test="specificationModel!=null and specificationModel!= ''">
                and specification_model = #{specificationModel}
            </if>
            <if test="largeCategory!=null and largeCategory!= ''">
                and large_category = #{largeCategory}
            </if>
        </where>
    </select>
 
    <select id="selectDeviceImage" resultType="com.yuanchu.mom.pojo.Device">
        select (image_upload, create_user, create_time) values (#{image_upload}
             , #{createUser}
             , #{createTime})
    </select>
    <select id="selectDevicePrincipal" resultType="com.yuanchu.mom.pojo.Device">
        select id,
               equipment_manager
        from device
    </select>
 
    <select id="selectDeviceParameterPage" resultType="com.yuanchu.mom.dto.DeviceDto">
        select * from(
        SELECT
        d.*,
        GROUP_CONCAT(
        CONCAT_WS(', ',
        TRIM(BOTH '["]' FROM SUBSTRING_INDEX(REPLACE(sample, '[["', ''), '"]]', 1)),
        inspection_item,
        inspection_item_subclass
        )
        SEPARATOR ';'
        ) AS insProductItem,
        u.name ,
        l.laboratory_name
        FROM
        device d
        LEFT JOIN `user` u ON u.id = d.equipment_manager
        LEFT JOIN laboratory l ON l.id = d.subordinate_departments_id
        LEFT JOIN structure_item_parameter sip ON FIND_IN_SET(sip.id, d.ins_product_ids)
        GROUP BY
        d.id,
        u.name, l.laboratory_name
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
 
    <select id="getInspectionItemSubclass" resultType="map">
        SELECT ip.inspection_item,
               if(ip.inspection_item_subclass is not null and ip.inspection_item_subclass != '',
                  ip.inspection_item_subclass, ip.inspection_item) inspection_item_subclass
        FROM ins_product ip
        where ip.ins_sample_id = #{id}
    </select>
 
 
    <resultMap id="treeDeviceDto" type="map">
        <result property="largeCategory" column="large_category"/>
        <collection property="children" resultMap="DeviceDto" javaType="List"/>
    </resultMap>
 
    <resultMap id="DeviceDto" type="map">
        <id property="id" column="id"/>
        <result property="deviceName" column="device_name"/>
    </resultMap>
    <select id="treeDevice" resultMap="treeDeviceDto">
        select id,
        case  when large_category is null || large_category ='' then '其他'
        else large_category end  as large_category, device_name
        from device
        <where>
            <if test="deviceName!=null and deviceName!=''">
                and device_name like concat('%',#{deviceName},'%')
            </if>
        </where>
    </select>
</mapper>