XiaoRuby
2023-08-11 8936f5f9af4c6e0221b5a49f2c905efd4df58496
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.yuanchu.mom.mapper.DeviceMapper">
 
    <select id="selectDeviceTables" resultType="map">
        SELECT d.`id`, d.`name`, d.`father`,t.`quota`
        FROM device d, technology t
        WHERE d.`state` = 1
          AND d.`id` = t.`device_id`
    </select>
 
    <resultMap id="deviceTwoTreeOneMap" type="map">
        <id property="name" column="father"/>
        <collection property="children" resultMap="deviceTwoTreeTwoMap" javaType="List"/>
    </resultMap>
 
    <resultMap id="deviceTwoTreeTwoMap" type="map">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
    </resultMap>
 
    <select id="deviceTwoTree" resultMap="deviceTwoTreeOneMap">
        SELECT d.`id`, d.`name`, d.`father`
        FROM device d
        WHERE d.state = 1
          AND d.type = #{type}
            <if test="search_class !=null and search_class != ''">
                AND d.`name` like concat('%',#{search_class},'%')
            </if>
    </select>
 
    <select id="DevicePageList" resultType="Map">
        SELECT d.id, d.`code`, d.`name`, u.`name` keeper, DATE_FORMAT(d.`end_measure`,'%Y-%m-%d') end_measure, d.`device_status`, d.`factory`, r.`name` inspectProject, i.`name` testSample, i.`user_name`
        FROM (device d, `user` u)
                 LEFT JOIN raw_ins_product r
                           ON d.`id` = r.`device_id`
                 LEFT JOIN raw_inspect i
                           ON r.`raw_inspect_id` = i.`id`
        WHERE r.`test_state` IS NULL
          AND d.`state` = 1
          AND (r.`state` = 1 OR r.`state` IS NULL)
          AND d.`keeper` = u.`id`
          AND d.type = #{type}
        <if test="codeNameModel != null and codeNameModel != ''">
            AND (d.`name` LIKE CONCAT('%',#{codeNameModel},'%') OR d.`code` LIKE CONCAT('%',#{codeNameModel},'%') OR i.`specifications` LIKE CONCAT('%',#{codeNameModel},'%'))
        </if>
        <if test="deviceStatue != null and deviceStatue != ''">
            AND d.`device_status` = #{deviceStatue}
        </if>
        <if test="deviceId != null and deviceId != ''">
            AND d.id = #{deviceId}
        </if>
        <if test="fatherName != null and fatherName != ''">
            AND d.`father` = #{fatherName}
        </if>
    </select>
</mapper>