fg电池监控平台的达梦数据库版本
whycxzp
2024-11-12 95766445ae3a3702b25efa433f0945c4c1cf6c54
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
150
151
152
153
154
155
156
157
158
159
<?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.whyc.mapper.Fbs9100sDfuStateMapper">
    <select id="searchAll" resultType="com.whyc.pojo.Fbs9100sDfuState">
        select distinct db_ram_db.tb_fbs9100s_dfu_state.num
                      , db_ram_db.tb_fbs9100s_dfu_state.dev_id
                      , db_battinf.tb_battinf.stationname
                      , db_battinf.tb_battinf.stationId
                      , db_battinf.tb_battinf.fBSDeviceName
                      , sysVersion_new
                      , softVersion_new
                      , sysVersion_dev
                      , softVersion_dev
                      , dfu_file
                      , dfu_en
                      , dfu_wr_stat
                      , dfu_data_blocknum
                      , dfu_data_blocklen
                      , dfu_file_len
                      , db_ram_db.tb_fbs9100_state.dev_version
        from db_ram_db.tb_fbs9100s_dfu_state,
             db_battinf.tb_battinf,
             db_ram_db.tb_fbs9100_state
        where db_ram_db.tb_fbs9100s_dfu_state.dev_id = db_battinf.tb_battinf.fBSDeviceId
          and db_ram_db.tb_fbs9100s_dfu_state.dev_id = db_ram_db.tb_fbs9100_state.dev_id
          and dfu_en = 1
    </select>
 
    <select id="searchWebscoket" resultType="com.whyc.pojo.Fbs9100sDfuState">
        select distinct db_ram_db.tb_fbs9100s_dfu_state.num
        , db_ram_db.tb_fbs9100s_dfu_state.dev_id
        , db_battinf.tb_battinf.stationname
        , db_battinf.tb_battinf.stationId
        , db_battinf.tb_battinf.fBSDeviceName
        , sysVersion_new
        , softVersion_new
        , sysVersion_dev
        , softVersion_dev
        , dfu_file
        , dfu_en
        , dfu_wr_stat
        , dfu_data_blocknum
        , dfu_data_blocklen
        , dfu_file_len
        , db_ram_db.tb_fbs9100_state.dev_version
        from db_ram_db.tb_fbs9100s_dfu_state,
        db_battinf.tb_battinf,
        db_ram_db.tb_fbs9100_state
        <where>
            db_ram_db.tb_fbs9100s_dfu_state.dev_id = db_battinf.tb_battinf.fBSDeviceId
            and db_ram_db.tb_fbs9100s_dfu_state.dev_id = db_ram_db.tb_fbs9100_state.dev_id
            <if test="devIds.size>0">
                <foreach collection="devIds" item="devId" open="and db_ram_db.tb_fbs9100s_dfu_state.dev_id in("
                         close=")" separator=",">
                    #{devId}
                </foreach>
            </if>
        </where>
    </select>
 
    <select id="searchA059" resultType="com.whyc.pojo.Fbs9100sDfuState">
        select distinct
        db_ram_db.tb_fbs9100s_dfu_state.num,db_ram_db.tb_fbs9100s_dfu_state.dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationId,db_battinf.tb_battinf.fBSDeviceName
        ,sysVersion_new,softVersion_new,sysVersion_dev,softVersion_dev,dfu_file,dfu_en,dfu_wr_stat,dfu_data_blocknum,dfu_data_blocklen,dfu_file_len,error_code
        from db_ram_db.tb_fbs9100s_dfu_state,db_battinf.tb_battinf
        where db_ram_db.tb_fbs9100s_dfu_state.dev_id=db_battinf.tb_battinf.fBSDeviceId
        and db_ram_db.tb_fbs9100s_dfu_state.dev_id like '8059%'
        <if test="stationName1 != null and stationName1!='' and stationName1!='null'">
            and db_battinf.tb_battinf.stationName1=#{stationName1}
        </if>
        <if test="stationName2 != null and stationName2!='' and stationName2!='null'">
            and db_battinf.tb_battinf.stationName2=#{stationName2}
        </if>
        <if test="stationName5 != null and stationName5!='' and stationName5!='null'">
            and db_battinf.tb_battinf.stationName5=#{stationName5}
        </if>
        and db_battinf.tb_battinf.StationId in (
        select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId
        from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr
        where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id
        and db_user.tb_user_battgroup_baojigroup_usr.uId=#{uId}
        )
    </select>
 
 
    <insert id="addPro">
        merge into db_ram_db.tb_fbs9100s_dfu_state tgt
        using(
            SELECT DISTINCT fBSDeviceId,0,1 FROM db_battinf.tb_battinf
                <where>
                fBSDeviceId not in(select DISTINCT dev_id from db_ram_db.tb_fbs9100s_dfu_state where dfu_en=true)
                <if test="num == 0">
                    and stationid=#{stationName}
                </if>
                <if test="num == 1">
                    and stationname1=#{stationName}
                </if>
                <if test="num == 2">
                    and stationname2=#{stationName}
                </if>
                <if test="num == 5">
                    and stationname5=#{stationName}
                </if>
                </where>
        ) src on tgt.dev_id=src.fBSDeviceId
        when not matched then
        insert(dev_id,dfu_wr_stat,dfu_data_blocknum) values(src.fBSDeviceId,0,1)
        when matched then
        update set dfu_wr_stat=0,dfu_data_blocknum=1
 
    </insert>
 
    <update id="updatePro">
        <foreach collection="devIds" item="devId" index="index" separator=";">
            update db_ram_db.tb_fbs9100s_dfu_state set dfu_en=true,dfu_wr_stat=1, dfu_data_blocknum=1,dfu_file=#{dfuFile}
            <where>
                dev_id =#{devId}
            </where>
        </foreach>
    </update>
    <update id="updateDfuEn">
        update db_ram_db.tb_fbs9100s_dfu_state set dfu_en=3 where num=#{id}
    </update>
 
    <select id="serchInserStation" resultType="com.whyc.pojo.Fbs9100sDfuState">
        SELECT  DISTINCT fBSDeviceId,fBSDeviceName,stationId,stationname,stationname1,stationname2,stationname3,stationname5 
                ,db_ram_db.tb_fbs9100_state.dev_id,db_ram_db.tb_fbs9100_state.dev_version
                 from db_battinf.tb_battinf,db_ram_db.tb_fbs9100_state
        <where>
            db_battinf.tb_battinf.fBSDeviceId=db_ram_db.tb_fbs9100_state.dev_id
            <if test="num == 0">
                and stationid=#{stationName}
            </if>
            <if test="num == 1">
                and stationname1=#{stationName}
            </if>
            <if test="num == 2">
                and stationname2=#{stationName}
            </if>
            <if test="num == 5">
                and stationname5=#{stationName}
            </if>
        </where>
        order by fBSDeviceId
    </select>
    <select id="judgeStation" resultType="com.whyc.dto.result.JudgeStationBinf">
        select distinct dev_id as fBSDeviceId,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationname1,db_battinf.tb_battinf.stationname2,db_battinf.tb_battinf.stationname3,db_battinf.tb_battinf.stationname5 from db_ram_db.tb_fbs9100_state,db_battinf.tb_battinf
        <where>
            db_ram_db.tb_fbs9100_state.dev_id=db_battinf.tb_battinf.fBSDeviceId  and dev_workstate=0
            <if test="devIds.size>0">
                <foreach collection="devIds" item="devId" open="and dev_id in(" close=")" separator=",">
                      #{devId}
                </foreach>
            </if>
        </where>
    </select>
 
 
</mapper>