From 69c47ed6f8270ad07969de261c07aa65cde1e1c5 Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期二, 07 五月 2024 13:50:58 +0800 Subject: [PATCH] 视频标签加入高程修改提交 --- ard-work/src/main/java/com/ruoyi/device/tower/mapper/ArdTowersMapper.java | 2 ++ ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java | 3 +++ ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java | 12 +++++++++++- ard-work/src/main/resources/mapper/device/ArdTowersMapper.xml | 6 ++++++ 4 files changed, 22 insertions(+), 1 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java index b193b73..904161e 100644 --- a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java @@ -28,6 +28,8 @@ import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.mapper.ArdCamerasMapper; +import com.ruoyi.device.tower.domain.ArdTowers; +import com.ruoyi.device.tower.mapper.ArdTowersMapper; import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.utils.data.Query; import com.ruoyi.utils.gis.GisUtil; @@ -57,6 +59,9 @@ private ArdWellGuideCameraMapper ardWellGuideCameraMapper; @Resource private ArdCamerasMapper ardCamerasMapper; + + @Resource + private ArdTowersMapper ardTowersMapper; @Autowired protected Validator validator; @@ -846,6 +851,10 @@ @Override public List<Map<String, Object>> getCameraVideoLable(Long deptId, String cameraId, Float p, Float t, Float fHorFieldAngle, Float fVerFieldAngle) { ArdCameras ardCameras = ardCamerasMapper.selectArdCamerasById(cameraId); + ArdTowers ardTowers = ardTowersMapper.selectArdTowersByCameraId(cameraId); + if(ardTowers == null){ + return null; + } //灏忎笁瑙掑舰鑵� Double xy = Math.tan(Math.PI/2 - (Math.PI * 2 - Math.PI * t/180) - Math.PI * fVerFieldAngle/180/2)*ardCameras.getAltitude()/Math.cos(Math.PI * fHorFieldAngle/180/2); //澶т笁瑙掑舰鑵� @@ -924,7 +933,8 @@ double distance_Target = RealDistance(ardCameras.getLongitude(),ardCameras.getLatitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude()); double Angle_A = GetAngle(ardCameras.getLongitude(),ardCameras.getLatitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude()); - double Angle_E = Math.atan((ardCameras.getAltitude() - 0) / distance_Target) * 180 / Math.PI; + //double Angle_E = Math.atan((ardCameras.getAltitude() - 0) / distance_Target) * 180 / Math.PI;//鏃犻珮绋� + double Angle_E = Math.atan((ardCameras.getAltitude() + ardTowers.getAltitude() - ardAlarmpointsWell.getAltitude()) / distance_Target) * 180 / Math.PI;//鏈夐珮绋� Angle_A = Angle_A - (p - fHorFieldAngle/2);//瑙嗗満瑙掑唴鏂逛綅 Angle_E = Angle_E - (360 - t - fVerFieldAngle/2);//瑙嗗満瑙掑唴淇话 diff --git a/ard-work/src/main/java/com/ruoyi/device/tower/mapper/ArdTowersMapper.java b/ard-work/src/main/java/com/ruoyi/device/tower/mapper/ArdTowersMapper.java index 916d43a..80d1e4e 100644 --- a/ard-work/src/main/java/com/ruoyi/device/tower/mapper/ArdTowersMapper.java +++ b/ard-work/src/main/java/com/ruoyi/device/tower/mapper/ArdTowersMapper.java @@ -59,4 +59,6 @@ * @return 缁撴灉 */ public int deleteArdTowersByIds(String[] ids); + + public ArdTowers selectArdTowersByCameraId(String cameraId); } diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java index ce0558d..e90b089 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java +++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java @@ -320,6 +320,9 @@ return AjaxResult.error("淇话瑙掕繃灏�"); } List<Map<String,Object>> result = ardAlarmpointsWellService.getCameraVideoLable(SecurityUtils.getDeptId(),cmd.getCameraId(),p,t,fHorFieldAngle,fVerFieldAngle); + if(result == null){ + return AjaxResult.error("璇ュ厜鐢垫病鏈夋寕鎺ュ"); + } return AjaxResult.success(result); } } diff --git a/ard-work/src/main/resources/mapper/device/ArdTowersMapper.xml b/ard-work/src/main/resources/mapper/device/ArdTowersMapper.xml index 1e3486a..e0a390a 100644 --- a/ard-work/src/main/resources/mapper/device/ArdTowersMapper.xml +++ b/ard-work/src/main/resources/mapper/device/ArdTowersMapper.xml @@ -160,4 +160,10 @@ #{id} </foreach> </delete> + + <select id="selectArdTowersByCameraId" parameterType="java.lang.String" resultMap="ArdTowersResult"> + select at.* from ard_cameras ac + inner join ard_towers at on ac.tower_id = at.id + where ac.id = #{cameraId} + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3