From 377f8bd94743a102b321b313d7e0824b39efa274 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期六, 16 三月 2024 17:40:24 +0800
Subject: [PATCH] app查询光电修改提交
---
ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java | 3 +
ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java | 2
ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java | 2
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java | 4 +-
ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml | 85 +++++++++++++++++++++++++-----------------
5 files changed, 56 insertions(+), 40 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
index 268e82b..9eb2008 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
@@ -220,7 +220,8 @@
@ApiOperation("鑾峰彇鏉冮檺鍙婁笅灞炴潈闄愪笅鐨勭浉鏈�")
public AjaxResult getCamerasByDeptId() {
Long deptId = SecurityUtils.getDeptId();
- List<Map<String,Object>> camerasList = ardCamerasService.getCamerasByDeptId(deptId);
+ String userId = SecurityUtils.getUserId();
+ List<Map<String,Object>> camerasList = ardCamerasService.getCamerasByDeptId(deptId,userId);
return AjaxResult.success(camerasList);
}
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java b/ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java
index 9e39104..df9334a 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java
@@ -90,7 +90,7 @@
*/
public ArdCameras checkCameraIpAndPortUnique(@Param("ip") String ip, @Param("port")Integer port);
- public List<Map<String, Object>> getCamerasByDeptId(Long deptId);
+ public List<Map<String, Object>> getCamerasByDeptId(@Param("deptId")Long deptId,@Param("userId")String userId);
public Boolean getCameraOperationByCameraId(@Param("id") String id, @Param("userId") String userId);
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java
index 05ae7a1..860d96d 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java
@@ -132,7 +132,7 @@
*/
public String checkCameraIpAndPortUnique(ArdCameras camera);
- public List<Map<String,Object>> getCamerasByDeptId(Long deptId);
+ public List<Map<String,Object>> getCamerasByDeptId(Long deptId,String userId);
public Boolean getCameraOperationByCameraId(String id,String userId);
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
index 00d2aff..7f7c334 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
@@ -564,8 +564,8 @@
}
@Override
- public List<Map<String, Object>> getCamerasByDeptId(Long deptId) {
- List<Map<String, Object>> result = ardCamerasMapper.getCamerasByDeptId(deptId);
+ public List<Map<String, Object>> getCamerasByDeptId(Long deptId,String userId) {
+ List<Map<String, Object>> result = ardCamerasMapper.getCamerasByDeptId(deptId,userId);
return result;
}
diff --git a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
index b084616..0a4d585 100644
--- a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
+++ b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
@@ -288,41 +288,56 @@
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="getCameraOperationByCameraId" resultType="java.lang.Boolean" parameterType="java.lang.String">
select
--
Gitblit v1.9.3