From 7b9bb72cd616ddbcb66e7d7384ee512334e64453 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期二, 12 三月 2024 09:40:07 +0800
Subject: [PATCH] app光电查询修提交
---
ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java | 9 +++++++++
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 | 4 ++++
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java | 6 ++++++
ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml | 36 ++++++++++++++++++++++++++++++++++++
5 files changed, 57 insertions(+), 0 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 8b0fe68..1f5b15d 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
@@ -5,6 +5,7 @@
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.common.constant.CameraConstants;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.device.camera.domain.ArdCameras;
import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.device.camera.domain.DeptAndCamerasDto;
@@ -214,4 +215,12 @@
TreeMap nearCamerasBycoordinate = ardCamerasService.getNearCamerasBycoordinate(cmd);
return AjaxResult.success(nearCamerasBycoordinate);
}
+
+ @GetMapping("/getCamerasByDeptId")
+ @ApiOperation("鑾峰彇鏉冮檺鍙婁笅灞炴潈闄愪笅鐨勭浉鏈�")
+ public AjaxResult getCamerasByDeptId() {
+ Long deptId = SecurityUtils.getDeptId();
+ List<Map<String,Object>> camerasList = ardCamerasService.getCamerasByDeptId(deptId);
+ 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 719ede0..b480c6c 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
@@ -1,6 +1,8 @@
package com.ruoyi.device.camera.mapper;
import java.util.List;
+import java.util.Map;
+
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.device.camera.domain.ArdCameras;
@@ -87,4 +89,6 @@
* @return 鐩告満淇℃伅
*/
public ArdCameras checkCameraIpAndPortUnique(@Param("ip") String ip, @Param("port")Integer port);
+
+ public List<Map<String, Object>> getCamerasByDeptId(Long deptId);
}
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 ae22d43..5901692 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
@@ -131,4 +131,6 @@
* @return 缁撴灉
*/
public String checkCameraIpAndPortUnique(ArdCameras camera);
+
+ public List<Map<String,Object>> getCamerasByDeptId(Long deptId);
}
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 cfb7b29..a1811dd 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
@@ -560,4 +560,10 @@
}
return CameraConstants.UNIQUE;
}
+
+ @Override
+ public List<Map<String, Object>> getCamerasByDeptId(Long deptId) {
+ List<Map<String, Object>> result = ardCamerasMapper.getCamerasByDeptId(deptId);
+ 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 5f7c930..cb74bd9 100644
--- a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
+++ b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
@@ -288,4 +288,40 @@
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>
</mapper>
--
Gitblit v1.9.3