czt
2024-07-13 1c1472f51d68382f913e413aa827fd0b028ab589
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
<?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.ld.igds.common.mapper.DeviceMapper">
 
    <!-- 基本返回信息 -->
    <sql id="BASE_COLUMN">
        g.ID_ AS id,
        g.COMPANY_ID_ AS companyId,
        g.DEPOT_ID_ AS depotId,
        g.PASS_CODE_ AS passCode,
        g.SER_ID_ AS serId,
        g.NAME_ AS name,
        g.TYPE_ AS type,
        g.LOCATION_ AS location,
        g.STATUS_ AS status,
        g.POWER_ AS power,
        g.LINK_ AS link,
        g.EXT1_ AS ext1,
        g.EXT2_ AS ext2,
        g.EXT3_ AS ext3,
        g.REMARK_ AS remark,
        g.POS_X_ AS posX,
        g.POS_Y_ AS posY
    </sql>
 
 
    <!-- 查询所以后的设备列表 -->
    <select id="queryAll" resultType="com.ld.igds.models.Device" parameterType="java.lang.String">
        select
        <include refid="BASE_COLUMN"/>
        from
        D_DEVICE g
        <where>
            <if test="companyId != null">AND g.COMPANY_ID_ = #{companyId}</if>
        </where>
        ORDER BY g.PASS_CODE_ + 0
    </select>
 
    <!-- 更新 温控设备信息 -->
    <update id="updateTempControlInfo" parameterType="com.ld.igds.temp.dto.TempParam">
        update D_DEVICE set EXT1_= #{param.targetTemp},EXT2_= #{param.targetModel} where id_=#{param.id}
    </update>
 
 
    <!-- 更新 跟新设备信息,没有主键ID -->
    <update id="updateDeviceNoId" parameterType="com.ld.igds.models.Device">
        update D_DEVICE
        <set>
            <if test="data.name != null and data.name != '' ">NAME_ = #{data.name},</if>
            <if test="data.type != null and data.type != '' ">TYPE_ = #{data.type},</if>
            <if test="data.link != null and data.link != '' ">LINK_ = #{data.link},</if>
            <if test="data.location != null and data.location != '' ">LOCATION_ = #{data.location}</if>
        </set>
        where COMPANY_ID_ = #{data.companyId}
        AND DEPOT_ID_ = #{data.depotId}
        AND SER_ID_ = #{data.serId}
        AND PASS_CODE_ = #{data.passCode}
    </update>
 
    <!-- 更新设备位置 -->
    <update id="updatePos">
        update D_DEVICE set POS_X_ = #{posX},POS_Y_ =#{posY} where ID_ = #{deviceId}
    </update>
 
    <!-- 新增 -->
    <insert id="addDevice" parameterType="com.ld.igds.models.Device">
        insert into
        D_DEVICE(
        ID_,
        COMPANY_ID_,
        DEPOT_ID_,
        PASS_CODE_,
        SER_ID_,
        NAME_,
        TYPE_,
        LOCATION_,
        LINK_)
        values(
        #{data.id},
        #{data.companyId},
        #{data.depotId},
        #{data.passCode},
        #{data.serId},
        #{data.name},
        #{data.type},
        #{data.location},
        #{data.link}
        )
    </insert>
 
    <!-- 根据定时任务查询关联设备列表 -->
    <select id="queryByTimId" resultType="com.ld.igds.models.Device" parameterType="java.lang.String">
        select
        g.ID_ AS id,
        g.COMPANY_ID_ AS companyId,
        g.DEPOT_ID_ AS depotId,
        g.PASS_CODE_ AS passCode,
        g.NAME_ AS name,
        g.SER_ID_ AS serId,
        g.TYPE_ AS type,
        g.LOCATION_ AS location,
        g.STATUS_ AS status,
        g.POWER_ AS power,
        g.REMARK_ AS remark,
        g.LINK_ AS link,
        g.EXT1_ AS ext1,
        g.EXT2_ AS ext2,
        g.EXT3_ AS ext3,
        t.TARGET_STATUS_ AS targetStatus
        from
        D_DEVICE g RIGHT JOIN D_TIMING_DEVICE t  ON g.COMPANY_ID_ = t.COMPANY_ID_ AND g.ID_ = t.DEVICE_ID_
        <where>
            <if test="timId != null" >AND t.TIM_ID_ = #{timId}</if>
            <if test="companyId != null" >AND g.COMPANY_ID_ = #{companyId}</if>
        </where>
        ORDER BY g.PASS_CODE_ + 0
    </select>
</mapper>