zhangnaisong
2024-07-30 4c133c297ff25eddd1a30a4bce032affb334969a
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
<?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.ruoyi.sy.mapper.ArdTankLockPasswordMapper">
    
    <resultMap type="ArdTankLockPassword" id="ArdTankLockPasswordResult">
        <result property="id"    column="id"    />
        <result property="lockId"    column="lock_id"    />
        <result property="password"    column="password"    />
        <result property="no"    column="no"    />
        <result property="createTime"    column="create_time"    />
        <result property="useTime"    column="use_time"    />
    </resultMap>
 
    <sql id="selectArdTankLockPasswordVo">
        select id, lock_id, password, no, create_time, use_time from ard_tank_lock_password
    </sql>
 
    <select id="selectArdTankLockPasswordList" parameterType="ArdTankLockPassword" resultMap="ArdTankLockPasswordResult">
        <include refid="selectArdTankLockPasswordVo"/>
        <where>  
            <if test="lockId != null  and lockId != ''"> and lock_id = #{lockId}</if>
            <if test="password != null  and password != ''"> and password = #{password}</if>
            <if test="no != null  and no != ''"> and no = #{no}</if>
            <if test="useTime != null  and useTime != ''"> and use_time = #{useTime}</if>
        </where>
    </select>
    
    <select id="selectArdTankLockPasswordById" parameterType="String" resultMap="ArdTankLockPasswordResult">
        <include refid="selectArdTankLockPasswordVo"/>
        where id = #{id}
    </select>
        
    <insert id="insertArdTankLockPassword" parameterType="ArdTankLockPassword">
        insert into ard_tank_lock_password
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="lockId != null">lock_id,</if>
            <if test="password != null">password,</if>
            <if test="no != null">no,</if>
            <if test="createTime != null">create_time,</if>
            <if test="useTime != null">use_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="lockId != null">#{lockId},</if>
            <if test="password != null">#{password},</if>
            <if test="no != null">#{no},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="useTime != null">#{useTime},</if>
         </trim>
    </insert>
 
    <update id="updateArdTankLockPassword" parameterType="ArdTankLockPassword">
        update ard_tank_lock_password
        <trim prefix="SET" suffixOverrides=",">
            <if test="lockId != null">lock_id = #{lockId},</if>
            <if test="password != null">password = #{password},</if>
            <if test="no != null">no = #{no},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="useTime != null">use_time = #{useTime},</if>
        </trim>
        where id = #{id}
    </update>
 
    <delete id="deleteArdTankLockPasswordById" parameterType="String">
        delete from ard_tank_lock_password where id = #{id}
    </delete>
 
    <delete id="deleteArdTankLockPasswordByIds" parameterType="String">
        delete from ard_tank_lock_password where id in 
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
 
    <update id="updateArdTankLockPasswordByLockNum" parameterType="java.lang.String">
        update ard_tank_lock_password set use_time = #{useTime}
        where "password" = #{password}
        and lock_id = (select id from ard_tank_lock where lock_num = #{lockNum})
    </update>
 
    <insert id="insertArdTankLockPasswordList" >
        insert into ard_tank_lock_password(id,lock_id,password,no,create_time) values
        <foreach collection ="ardTankLockPasswordList" item="ardTankLockPassword" separator =",">
            (#{ardTankLockPassword.id},(select atl.id from ard_tank_lock atl where atl.lock_num = #{ardTankLockPassword.lockId}),
            #{ardTankLockPassword.password},#{ardTankLockPassword.no},to_char(now(), 'YYYY-MM-DD HH24:MI:SS'))
        </foreach>
    </insert>
 
    <select id="getLockPasswordByLockId" parameterType="java.lang.String" resultMap="ArdTankLockPasswordResult">
        select atlp.id,atlp.lock_id,atlp."password",atlp."no",
        atlp.create_time,coalesce(atlp.use_time,'')  as use_time
        from ard_tank_lock_password atlp
        where lock_id = #{lockId} order by use_time asc,no asc
    </select>
 
    <select id="selectLockPasswordTotalBylockId" parameterType="java.lang.String" resultType="java.lang.Long">
        select count(*) from ard_tank_lock_password atlp where lock_id = #{lockId}
    </select>
 
    <select id="getLockPasswordByCarId" parameterType="java.lang.String" resultType="java.util.Map">
        select "asc".car_id as "carId",atlp.id,atlp.lock_id as "lockId",atlp."password",
        atlp."no",atlp.create_time as "createTime",coalesce(atlp.use_time,'') as "useTime",
        atl.lock_name as "lockName" from ard_sy_car "asc"
        inner join ard_tank_lock atl on "asc".car_id = atl.car_id
        inner join ard_tank_lock_password atlp on atl.id = atlp.lock_id
        inner join (select atlp.lock_id,max(create_time) as create_time
        from ard_tank_lock_password atlp group by lock_id)t
        on atlp.lock_id = t.lock_id and atlp.create_time = t.create_time
        where "asc".car_id = #{carId} order by "asc".car_id asc,use_time desc,no asc
    </select>
 
    <select id="selectLockPasswordTotalByCarId" parameterType="java.lang.String" resultType="java.lang.Long">
        select count(*) from ard_sy_car "asc"
        inner join ard_tank_lock atl on "asc".car_id = atl.car_id
        inner join ard_tank_lock_password atlp on atl.id = atlp.lock_id
        inner join (select atlp.lock_id,max(create_time) as create_time
        from ard_tank_lock_password atlp group by lock_id)t
        on atlp.lock_id = t.lock_id and atlp.create_time = t.create_time
        where "asc".car_id = #{carId}
    </select>
</mapper>