jiangping
2023-12-29 f9691d544e62d6c04dbfe45d05a6c7bc5e004291
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
<?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.doumee.dao.business.SitesMapper">
 
    <select id="getSitesMonitorDTO" resultType="com.doumee.dao.business.web.request.SitesMonitorDTO">
 
        SELECT
            sites.id,
            sites.name as name,
            sites.code as code,
            count(l.id) as lid,
            count(l.bike_code ) as lbikeCount
        from
            sites
            LEFT JOIN locks l on sites.id = l.site_id
        <where>
            sites.isdeleted = 0
            <if test="code != null and code != ''">
                and sites.code like LIKE '%'||#{code}||'%'
            </if>
            <if test="name != null and name != ''">
                and sites.name like LIKE '%'||#{name}||'%'
            </if>
        </where>
 
        GROUP BY sites.id
 
    </select>
 
    <select id="getSitesMonitorBikeDTO" resultType="com.doumee.dao.business.web.request.SitesMonitorBikeDTO">
        SELECT
            sites.id,
            sites.name as name,
            sites.code as code,
            l.name as locksName,
            l.bike_code as bike_code,
            bp.name as bikeType
        from
            sites sites
        LEFT JOIN locks l on sites.id = l.site_id
        LEFT JOIN base_param bp on bp.id = l.param_id
        <where>
            sites.isdeleted = 0
            <if test="code != null and code != ''">
                and sites.code like LIKE '%'||#{code}||'%'
            </if>
            <if test="name != null and name != ''">
                and sites.name like LIKE '%'||#{name}||'%'
            </if>
            <if test="lockCode != null and lockCode != ''">
                and l.code like LIKE '%'||#{lockCode}||'%'
            </if>
            <if test="hasBike != null and hasBike != false">
                l.bike_code isnull
            </if>
            <if test="hasBike != null and hasBike != true">
                l.bike_code notnull
            </if>
        </where>
    </select>
 
</mapper>