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