From ae64126733bedc1a15a0177b105fec7f499ada81 Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期一, 05 八月 2024 11:01:01 +0800 Subject: [PATCH] 电磁锁加入使能修改及判断提交 --- ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 151 insertions(+), 6 deletions(-) diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml index a71f574..0a21a5e 100644 --- a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml +++ b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml @@ -16,6 +16,52 @@ <result property="onlineTime" column="online_time" /> </resultMap> + <resultMap type="ArdTankLock" id="ArdTankLockWithStateResult"> + <result property="id" column="id" /> + <result property="lockNum" column="lock_num" /> + <result property="lockName" column="lock_name" /> + <result property="imgPositionTop" column="img_position_top" /> + <result property="imgPositionLeft" column="img_position_left" /> + <result property="carId" column="car_id" /> + <result property="enable" column="enable" /> + <result property="restartState" column="restart_state" /> + <result property="onlineTime" column="online_time" /> + <association property="ardTankLockState" javaType="com.ruoyi.sy.domain.ArdTankLockState"> + <result property="id" column="sid" /> + <result property="lockId" column="lock_id" /> + <result property="lockNum" column="slock_num" /> + <result property="lockState" column="lock_state" /> + <result property="lockPositionState" column="lock_position_state" /> + <result property="lockShellState" column="lock_shell_state" /> + <result property="restartState" column="srestart_state" /> + <result property="batterVoltage" column="batter_voltage" /> + <result property="powerVoltage" column="power_voltage" /> + <result property="uploadTime" column="upload_time" /> + <result property="uniqueMark" column="unique_mark" /> + <result property="lockStateMark" column="lock_state_mark" /> + </association> + </resultMap> + + <resultMap type="ArdTankLock" id="ArdTankLockWithPasswordResult"> + <result property="id" column="id" /> + <result property="lockNum" column="lock_num" /> + <result property="lockName" column="lock_name" /> + <result property="imgPositionTop" column="img_position_top" /> + <result property="imgPositionLeft" column="img_position_left" /> + <result property="carId" column="car_id" /> + <result property="enable" column="enable" /> + <result property="restartState" column="restart_state" /> + <result property="onlineTime" column="online_time" /> + <collection property="ardTankLockPasswords" ofType="com.ruoyi.sy.domain.ArdTankLockPassword"> + <result property="id" column="pid" /> + <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" /> + </collection> + </resultMap> + <sql id="selectArdTankLockVo"> select id, lock_num, lock_name, img_position_top, img_position_left, car_id, enable, restart_state, online_time from ard_tank_lock </sql> @@ -108,8 +154,31 @@ </foreach > </insert> - <select id="getLockByCarId" resultMap="ArdTankLockResult" parameterType="java.lang.String"> - select * from ard_tank_lock atl where car_id = #{carId} order by atl.lock_num + <select id="getLockByCarId" resultMap="ArdTankLockWithStateResult" parameterType="java.lang.String"> + 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, + 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 false + when '寮�閿佺姸鎬�' then true + else false + end as lock_state_mark, + rank() over(partition by atl.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)t where t.rn = 1 </select> <delete id="deleteLockByCarId" parameterType="java.lang.String"> @@ -127,8 +196,8 @@ select count(distinct atl.car_id) from ard_tank_lock atl </select> - <select id="getLockByCarIdList" > - select * from ard_tank_lock where id in + <select id="getLockByCarIdList" resultType="com.ruoyi.sy.domain.ArdTankLock" > + select * from ard_tank_lock atl where car_id in <foreach item="id" collection="carIdList" open="(" separator="," close=")"> #{id} </foreach> @@ -139,10 +208,86 @@ select count(*) from ard_tank_lock atl </select> - <select id="selectArdTankLockTotalByCarIdList" > - select count(*) from ard_tank_lock where id in + <select id="selectArdTankLockTotalByCarIdList" resultType="java.lang.Long"> + select count(*) from ard_tank_lock where car_id in <foreach item="id" collection="carIdList" open="(" separator="," close=")"> #{id} </foreach> </select> + + <delete id="deleteArdTankLockAndWallByCarIds" > + delete from ard_tank_wall_lock atwl where atwl.lock_id in ( + select atl.id from ard_tank_lock atl + where atl.car_id in + <foreach item="carId" collection="carIds" open="(" separator="," close=")"> + #{carId} + </foreach> + ); + delete from ard_tank_lock atl + where atl.car_id in + <foreach item="carId" collection="carIds" open="(" separator="," close=")"> + #{carId} + </foreach> + </delete> + + <select id="getIdByLockNum" resultType="java.lang.String" parameterType="java.lang.String"> + select id from ard_tank_lock atl where atl.lock_num = #{lockNum} + </select> + + <select id="selectArdTankLockWithPassword" resultMap="ArdTankLockWithPasswordResult" > + 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,atlp."id" as pid,atlp.lock_id,atlp."password", + atlp.create_time,atlp.use_time from ard_tank_lock atl + left join ard_tank_lock_password atlp on atl.id = atlp.lock_id and use_time is null + </select> + + <select id="getArdTankLockAllWithState" resultMap="ArdTankLockWithStateResult" > + 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, + 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 false + when '寮�閿佺姸鎬�' then true + else false + end as lock_state_mark, + rank() over(partition by atl.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)t where t.rn = 1 + </select> + + <select id="getArdTankLockCount" resultType="java.lang.Long" > + select count(*) from ard_tank_lock + </select> + + <select id="getArdTankLockWithStateByCarId" resultMap="ArdTankLockWithStateResult" > + 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 from ( + select atl.*,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, + rank() over(partition by atl.lock_num,atl.online_time order by atls.upload_time desc) rn + from ard_tank_lock atl + left join ard_tank_lock_state atls on atl.lock_num = atls.lock_num + where atl.car_id = #{carId})t where t.rn = 1 + </select> + + <update id="updateLockEnableByCarId" parameterType="java.lang.String"> + update ard_tank_lock set enable = #{enable} + where car_id = #{carId} + </update> </mapper> \ No newline at end of file -- Gitblit v1.9.3