From c8aaafaaf4b6ff674149db115a97e40ead5927bf Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期一, 08 七月 2024 16:57:00 +0800
Subject: [PATCH] 车辆挂接电磁锁bug修改提交
---
ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml | 132 ++++++++++++++++++++++++++++++++-----------
1 files changed, 97 insertions(+), 35 deletions(-)
diff --git a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
index b084616..78083d2 100644
--- a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
+++ b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
@@ -104,6 +104,7 @@
WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) ))
</if>
<if test="towerId != null ">and c.tower_id = #{towerId}</if>
+ <if test="state != null ">and c.state = #{state}</if>
<!-- 鏁版嵁鑼冨洿杩囨护 -->
${params.dataScope}
</where>
@@ -140,6 +141,7 @@
<if test="camMaxVisibleDistance != null ">and c.cam_max_visible_distance = #{camMaxVisibleDistance}</if>
<if test="camAlarmGuideEnable != null ">and c.cam_alarm_guide_enable = #{camAlarmGuideEnable}</if>
<if test="loginId != null ">and c.login_id = #{loginId}</if>
+ <if test="state != null ">and c.state = #{state}</if>
</where>
</select>
<select id="selectArdCamerasById" parameterType="String" resultMap="ArdCamerasResult">
@@ -181,6 +183,7 @@
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
+ <if test="state != null">state,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
@@ -214,6 +217,7 @@
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
+ <if test="state != null">#{state},</if>
</trim>
</insert>
@@ -288,41 +292,91 @@
where ip = #{ip}
and port = #{port} limit 1
</select>
- <select id="getCamerasByDeptId" resultType="java.util.Map" parameterType="java.lang.Long">
- with recursive rsd as (
- select ac.id,ac.name,ac.ip,ac.port,ac.username,ac.password,ac.longitude,ac.latitude,ac.altitude,ac.channel,ac.dept_id as "deptId",
- ac.gdtype,ac.state,sdd.dict_label as "dictLabel",sdd0.dict_label as factory,
- case sdd0.dict_label
- when '娴峰悍' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/h264/ch1/main/av_stream')
- when '澶у崕' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/cam/realmonitor?channel=1&subtype=1')
- end as rtsp
- from sys_dept sd
- inner join ard_cameras ac on sd.dept_id = ac.dept_id
- inner join sys_dict_data sdd on ac.gdtype = sdd.dict_value
- inner join sys_dict_type sdt on sdd.dict_type = sdt.dict_type
- inner join sys_dict_data sdd0 on ac.factory = sdd0.dict_value
- inner join sys_dict_type sdt0 on sdd0.dict_type = sdt0.dict_type
- where sd.dept_id = #{deptId}
- and sdt.dict_type = 'camera_type' and (sdd.dict_label = '灏忓厜鐢�' or sdd.dict_label = '澶у厜鐢�')
- and sdt0.dict_type = 'factory'
- union
- select ac.id,ac.name,ac.ip,ac.port,ac.username,ac.password,ac.longitude,ac.latitude,ac.altitude,ac.channel,ac.dept_id as "deptId",
- ac.gdtype,ac.state,sdd.dict_label as "dictLabel",sdd0.dict_label as factory,
- case sdd0.dict_label
- when '娴峰悍' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/h264/ch1/main/av_stream')
- when '澶у崕' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/cam/realmonitor?channel=1&subtype=1')
- end as rtsp
- from sys_dept csd
- inner join rsd on rsd."deptId" = csd.parent_id
- inner join ard_cameras ac on csd.dept_id = ac.dept_id
- inner join sys_dict_data sdd on ac.gdtype = sdd.dict_value
- inner join sys_dict_type sdt on sdd.dict_type = sdt.dict_type
- inner join sys_dict_data sdd0 on ac.factory = sdd0.dict_value
- inner join sys_dict_type sdt0 on sdd0.dict_type = sdt0.dict_type
- and sdt.dict_type = 'camera_type' and (sdd.dict_label = '灏忓厜鐢�' or sdd.dict_label = '澶у厜鐢�')
- and sdt0.dict_type = 'factory'
- )
- select distinct * from rsd order by "dictLabel"
+ <!--<select id="getCamerasByDeptId" resultType="java.util.Map" >
+ select distinct * from (
+ with recursive rsd as (
+ select ac.id,ac.name,ac.ip,ac.port,ac.username,ac.password,ac.longitude,ac.latitude,ac.altitude,ac.channel,ac.dept_id as "deptId",
+ ac.gdtype,ac.state,sdd.dict_label as "dictLabel",sdd0.dict_label as factory,
+ case sdd0.dict_label
+ when '娴峰悍' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/h264/ch1/main/av_stream')
+ when '澶у崕' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/cam/realmonitor?channel=1&subtype=1')
+ end as rtsp
+ from sys_dept sd
+ inner join ard_cameras ac on sd.dept_id = ac.dept_id
+ inner join sys_dict_data sdd on ac.gdtype = sdd.dict_value
+ inner join sys_dict_type sdt on sdd.dict_type = sdt.dict_type
+ inner join sys_dict_data sdd0 on ac.factory = sdd0.dict_value
+ inner join sys_dict_type sdt0 on sdd0.dict_type = sdt0.dict_type
+ where sd.dept_id = #{deptId}
+ and sdt.dict_type = 'camera_type' and (sdd.dict_label = '灏忓厜鐢�' or sdd.dict_label = '澶у厜鐢�')
+ and sdt0.dict_type = 'factory'
+ union
+ select ac.id,ac.name,ac.ip,ac.port,ac.username,ac.password,ac.longitude,ac.latitude,ac.altitude,ac.channel,ac.dept_id as "deptId",
+ ac.gdtype,ac.state,sdd.dict_label as "dictLabel",sdd0.dict_label as factory,
+ case sdd0.dict_label
+ when '娴峰悍' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/h264/ch1/main/av_stream')
+ when '澶у崕' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/cam/realmonitor?channel=1&subtype=1')
+ end as rtsp
+ from sys_dept csd
+ inner join rsd on rsd."deptId" = csd.parent_id
+ inner join ard_cameras ac on csd.dept_id = ac.dept_id
+ inner join sys_dict_data sdd on ac.gdtype = sdd.dict_value
+ inner join sys_dict_type sdt on sdd.dict_type = sdt.dict_type
+ inner join sys_dict_data sdd0 on ac.factory = sdd0.dict_value
+ inner join sys_dict_type sdt0 on sdd0.dict_type = sdt0.dict_type
+ and sdt.dict_type = 'camera_type' and (sdd.dict_label = '灏忓厜鐢�' or sdd.dict_label = '澶у厜鐢�')
+ and sdt0.dict_type = 'factory')
+ select * from rsd
+ union
+ select ac.id,ac.name,ac.ip,ac.port,ac.username,ac.password,ac.longitude,ac.latitude,ac.altitude,ac.channel,ac.dept_id as "deptId",
+ ac.gdtype,ac.state,sdd.dict_label as "dictLabel",sdd0.dict_label as factory,
+ case sdd0.dict_label
+ when '娴峰悍' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/h264/ch1/main/av_stream')
+ when '澶у崕' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/cam/realmonitor?channel=1&subtype=1')
+ end as rtsp from sys_user_role sur
+ inner join sys_role_dept srd on sur.role_id = srd.role_id
+ inner join ard_cameras ac on srd.dept_id = ac.dept_id
+ inner join sys_dict_data sdd on ac.gdtype = sdd.dict_value
+ inner join sys_dict_type sdt on sdd.dict_type = sdt.dict_type
+ inner join sys_dict_data sdd0 on ac.factory = sdd0.dict_value
+ inner join sys_dict_type sdt0 on sdd0.dict_type = sdt0.dict_type
+ where sur.user_id = #{userId} and sdt.dict_type = 'camera_type' and (sdd.dict_label = '灏忓厜鐢�' or sdd.dict_label = '澶у厜鐢�') and sdt0.dict_type = 'factory'
+ )t order by "dictLabel"
+ </select>-->
+ <select id="getCamerasByDeptId" resultType="java.util.Map" >
+ select distinct * from (
+ select ac.id,ac.name,ac.ip,ac.port,ac.username,ac.password,ac.longitude,ac.latitude,ac.altitude,ac.channel,ac.dept_id as "deptId",
+ ac.gdtype,ac.state,sdd.dict_label as "dictLabel",sdd0.dict_label as factory,
+ case sdd0.dict_label
+ when '娴峰悍' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/h264/ch1/main/av_stream')
+ when '澶у崕' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/cam/realmonitor?channel=1&subtype=0')
+ end as rtsp
+ from ard_cameras ac
+ inner join sys_dict_data sdd on ac.gdtype = sdd.dict_value
+ inner join sys_dict_type sdt on sdd.dict_type = sdt.dict_type
+ inner join sys_dict_data sdd0 on ac.factory = sdd0.dict_value
+ inner join sys_dict_type sdt0 on sdd0.dict_type = sdt0.dict_type
+ where ac.dept_id in
+ <foreach collection="deptIdList" open="(" close=")" separator="," item="deptId">
+ #{deptId}
+ </foreach>
+ and sdt.dict_type = 'camera_type' and (sdd.dict_label = '灏忓厜鐢�' or sdd.dict_label = '澶у厜鐢�')
+ and sdt0.dict_type = 'factory'
+ union
+ select ac.id,ac.name,ac.ip,ac.port,ac.username,ac.password,ac.longitude,ac.latitude,ac.altitude,ac.channel,ac.dept_id as "deptId",
+ ac.gdtype,ac.state,sdd.dict_label as "dictLabel",sdd0.dict_label as factory,
+ case sdd0.dict_label
+ when '娴峰悍' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/h264/ch1/main/av_stream')
+ when '澶у崕' then concat('rtsp://',ac.username,':',ac.password,'@',ac.ip,':',ac.rtsp_port,'/cam/realmonitor?channel=1&subtype=0')
+ end as rtsp from sys_user_role sur
+ inner join sys_role_dept srd on sur.role_id = srd.role_id
+ inner join ard_cameras ac on srd.dept_id = ac.dept_id
+ inner join sys_dict_data sdd on ac.gdtype = sdd.dict_value
+ inner join sys_dict_type sdt on sdd.dict_type = sdt.dict_type
+ inner join sys_dict_data sdd0 on ac.factory = sdd0.dict_value
+ inner join sys_dict_type sdt0 on sdd0.dict_type = sdt0.dict_type
+ where sur.user_id = #{userId} and sdt.dict_type = 'camera_type' and (sdd.dict_label = '灏忓厜鐢�' or sdd.dict_label = '澶у厜鐢�') and sdt0.dict_type = 'factory'
+ )t order by "dictLabel"
</select>
<select id="getCameraOperationByCameraId" resultType="java.lang.Boolean" parameterType="java.lang.String">
select
@@ -344,4 +398,12 @@
inner join sys_config sc on sc.config_key = 'dayNightTime'
where ac.device_id = #{id}
</select>
+ <select id="findTowerCamerasBySubAndOwnDeptIds" parameterType="java.lang.String" resultMap = "ArdCamerasResult">
+ select * from ard_cameras where dept_id in
+ <foreach item="deptId" collection="deptIdList" open="(" separator="," close=")">
+ #{deptId}
+ </foreach>
+ and tower_id is not null
+ order by create_time desc
+ </select>
</mapper>
--
Gitblit v1.9.3