zhangnaisong
2024-07-30 9c092f52ad5c6c2c3b23fcfa511362bc71c6f96d
ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
@@ -155,22 +155,29 @@
    </insert>
    <select id="getLockByCarId" resultMap="ArdTankLockWithStateResult" parameterType="java.lang.String">
        select atl.id,atl.lock_num,atl.lock_name,atl.img_position_top,
        select t.id,t.lock_num,t.lock_name,t.img_position_top,t.img_position_left,
        t.car_id,t.enable,t.restart_state,t.online_time,t.sid,t.lock_id,t.slock_num,
        t.lock_state,t.lock_position_state,t.lock_shell_state,t.srestart_state,
        t.batter_voltage,t.power_voltage,t.upload_time,t.unique_mark,
        t.lock_state_mark from (select atl.id,atl.lock_num,atl.lock_name,atl.img_position_top,
        atl.img_position_left,atl.car_id,atl.enable,atl.restart_state,
        atl.online_time,atls.id as sid,atls.lock_id,atls.lock_num as slock_num,
        atls.lock_state,atls.lock_position_state,atls.lock_shell_state,
        atls.restart_state as srestart_state,atls.batter_voltage,
        atls.power_voltage,atls.upload_time,atls.unique_mark,
        coalesce(atl.online_time,'') as online_time,coalesce(atls.id,'') as sid,
        coalesce(atls.lock_id,'') as lock_id,coalesce(atls.lock_num,'') as slock_num,
        coalesce(atls.lock_state,'') as lock_state,coalesce(atls.lock_position_state,'') as lock_position_state,
        coalesce(atls.lock_shell_state,'') as lock_shell_state,coalesce(atls.restart_state,'') as srestart_state,
        coalesce(atls.batter_voltage,'') as batter_voltage,coalesce(atls.power_voltage,'') as power_voltage,
        coalesce(atls.upload_time,'') as upload_time,coalesce(atls.unique_mark,'') as unique_mark,
        case atls.lock_state
        when '关锁状态' then false
        when '异常状态' then false
        when '动作状态' then false
        when '开锁状态' then true
        end as lock_state_mark
          when '关锁状态' then false
          when '异常状态' then false
          when '动作状态' then false
          when '开锁状态' then true
          else false
          end as lock_state_mark,
        rank() over(partition by atls.lock_num order by atls.upload_time desc,atl.lock_num) rn
        from ard_tank_lock atl
        left join ard_tank_lock_state atls on atl."id" = atls.lock_id
        where car_id = #{carId} order by atls.upload_time desc,atl.lock_num
        limit 1
        where car_id = #{carId} order by atls.upload_time desc,atl.lock_num)t where t.rn = 1
    </select>
    <delete id="deleteLockByCarId" parameterType="java.lang.String">