From fb486d8c2447a9a18eb929d81094bfd46c78fe27 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期二, 06 八月 2024 08:09:52 +0800
Subject: [PATCH] 电磁锁加入电子围栏自动开关提交
---
ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml | 219 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 213 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..4d5bebe 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
@@ -16,6 +16,90 @@
<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>
+
+ <resultMap type="ArdTankLock" id="ArdTankLockWithWallAndStateResult">
+ <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="slock_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>
+ <collection property="ardTankWallLockList" ofType="com.ruoyi.sy.domain.ArdTankWallLock">
+ <result property="processType" column="process_type" />
+ <result property="id" column="mid" />
+ <result property="wallId" column="wall_id" />
+ <result property="lockId" column="lock_id" />
+ <association property="ardTankWall" javaType="com.ruoyi.sy.domain.ArdTankWall">
+ <result property="id" column="wid" />
+ <result property="wallName" column="wall_name" />
+ <result property="wallPoi" column="wall_poi" />
+ <result property="wallType" column="wall_type" />
+ </association>
+ </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 +192,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 +234,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 +246,110 @@
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>
+
+ <select id="selectArdTankLockWithWallAndStateByCarId" resultMap="ArdTankLockWithWallAndStateResult" >
+ 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.mid,t.wall_id,t.lock_id,
+ t.process_type,t.wid,t.wall_name,t.wall_poi,t.wall_type,t.sid,t.slock_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.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,atwl.id as mid,
+ atwl.wall_id,atwl.lock_id,atwl.process_type,atw.id as wid,
+ atw.wall_name,atw.wall_poi,atw.wall_type,coalesce(atls.id,'') as sid,
+ coalesce(atls.lock_id,'') as slock_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,
+ rank() over(partition by atl.lock_num order by atls.upload_time desc,atl.lock_num) rn
+ from ard_tank_lock atl
+ inner join ard_tank_wall_lock atwl on atl.id = atwl.lock_id
+ inner join ard_tank_wall atw on atwl.wall_id = atw.id
+ left join ard_tank_lock_state atls on atl."id" = atls.lock_id
+ where atl.car_id = #{carId} and atwl.process_type != '0')t where t.rn = 1
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3