2021与蓝度共同重构项目,服务端
liuhaonan
2022-11-10 2e53fdad625825a7cfb24b849494ebb5026a4d67
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.sandu.ximon.dao.mapper.WaterQualityDataMapper">
 
    <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.WaterQualityData">
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="waterQualityEquipmentCode" column="water_quality_equipment_code" jdbcType="VARCHAR"/>
        <result property="waterQualityPh" column="water_quality_ph" jdbcType="VARCHAR"/>
        <result property="waterQualityDo" column="water_quality_do" jdbcType="VARCHAR"/>
        <result property="waterQualityEc" column="water_quality_ec" jdbcType="VARCHAR"/>
        <result property="waterQualityNtu" column="water_quality_ntu" jdbcType="VARCHAR"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
    </resultMap>
 
    <select id="listWaterQualityDataByIds" resultType="com.sandu.ximon.dao.bo.WaterQualityDataBo">
        SELECT
        t1.*, t2.pole_id,
        t3.pole_name
        FROM
        water_quality_data t1
        LEFT JOIN pole_binding t2 ON t1.water_quality_equipment_code = t2.device_code
        AND t2.device_type = 4
        LEFT JOIN pole t3 ON t3.id = t2.pole_id
        <where>
            t1.id IN
            <foreach collection="WaterQualityDataIdList" open="(" close=")" item="airId" separator=",">
                #{airId}
            </foreach>
        </where>
    </select>
 
    <select id="listWaterQualityDataId" resultType="java.lang.Long">
        SELECT
        MAX(t1.id) AS water_quality_data_id
        FROM
        water_quality_data t1
        <if test="keyword != null and keyword != ''">
            LEFT JOIN pole_binding t2 ON t1.water_quality_equipment_code = t2.device_code
            AND t2.device_type = 4
            LEFT JOIN pole t3 ON t3.id = t2.pole_id
        </if>
        <where>
            <if test="keyword != null and keyword != ''">
                AND t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
            </if>
            <if test="userid != null">
                AND (t3.user_id = #{userid} OR t3.client_id = #{userid})
            </if>
        </where>
        GROUP BY
        t1.water_quality_equipment_code
    </select>
 
</mapper>