From 44a9216a0c14d2377374a7bf8325ba841db85479 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期一, 22 七月 2024 11:25:01 +0800
Subject: [PATCH] 电磁锁状态修改提交
---
ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 46 insertions(+), 12 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 e191920..4f86e8f 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);
//澶т笁瑙掑舰鑵�
@@ -919,23 +928,48 @@
}
List<Map<String,Object>> result = new ArrayList();
- for(ArdAlarmpointsWell ardAlarmpointsWell : innerList){
- Map<String,Object> map = new HashMap();
- double distance_Target = RealDistance(ardCameras.getLongitude(),ardCameras.getLongitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude());
- double Angle_A = GetAngle(ardCameras.getLongitude(),ardCameras.getLongitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude());
- double Angle_E = Math.atan((ardCameras.getAltitude() - 0) / distance_Target) * 180 / Math.PI;
+ if(ardTowers.getAltitude() > 5){//鏈夐珮绋�
+ for(ArdAlarmpointsWell ardAlarmpointsWell : innerList){
+ Map<String,Object> map = new HashMap();
+ double distance_Target = RealDistance(ardCameras.getLongitude(),ardCameras.getLatitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude());
- Angle_A = Angle_A - (p - fHorFieldAngle/2);//瑙嗗満瑙掑唴鏂逛綅
+ 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() + ardTowers.getAltitude() - ardAlarmpointsWell.getAltitude()) / distance_Target) * 180 / Math.PI;//鏈夐珮绋�
- Angle_E = Angle_E - (360 - t - fVerFieldAngle/2);//瑙嗗満瑙掑唴淇话
+ Angle_A = Angle_A - (p - fHorFieldAngle/2);//瑙嗗満瑙掑唴鏂逛綅
+ Angle_E = Angle_E - (360 - t - fVerFieldAngle/2);//瑙嗗満瑙掑唴淇话
+ if(!(Angle_E/fVerFieldAngle < 0.1 || Angle_A/fHorFieldAngle < 0.08 || Angle_A/fHorFieldAngle > 0.92)){//鏈�涓婏紝鏈�宸︼紝鏈�鍙冲幓鎺�
+ map.put("id",ardAlarmpointsWell.getId());
+ map.put("wellId",ardAlarmpointsWell.getWellId());
+ map.put("horFieldProportion",Angle_A/fHorFieldAngle);//妯悜鍗犳瘮
+ map.put("verFieldProportion",Angle_E/fVerFieldAngle);//绾靛悜鍗犳瘮
+ result.add(map);
+ }
+ }
+ }else{//鏃犻珮绋�
+ for(ArdAlarmpointsWell ardAlarmpointsWell : innerList){
+ Map<String,Object> map = new HashMap();
+ double distance_Target = RealDistance(ardCameras.getLongitude(),ardCameras.getLatitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude());
- map.put("id",ardAlarmpointsWell.getId());
- map.put("wellId",ardAlarmpointsWell.getWellId());
- map.put("horFieldProportion",Angle_A/fHorFieldAngle);//妯悜鍗犳瘮
- map.put("verFieldProportion",Angle_E/fVerFieldAngle);//绾靛悜鍗犳瘮
- result.add(map);
+ 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() + ardTowers.getAltitude() - ardAlarmpointsWell.getAltitude()) / distance_Target) * 180 / Math.PI;//鏈夐珮绋�
+
+ Angle_A = Angle_A - (p - fHorFieldAngle/2);//瑙嗗満瑙掑唴鏂逛綅
+ Angle_E = Angle_E - (360 - t - fVerFieldAngle/2);//瑙嗗満瑙掑唴淇话
+ if(!(Angle_E/fVerFieldAngle < 0.1 || Angle_A/fHorFieldAngle < 0.08 || Angle_A/fHorFieldAngle > 0.92)){//鏈�涓婏紝鏈�宸︼紝鏈�鍙冲幓鎺�
+ map.put("id",ardAlarmpointsWell.getId());
+ map.put("wellId",ardAlarmpointsWell.getWellId());
+ map.put("horFieldProportion",Angle_A/fHorFieldAngle);//妯悜鍗犳瘮
+ map.put("verFieldProportion",Angle_E/fVerFieldAngle);//绾靛悜鍗犳瘮
+ result.add(map);
+ }
+ }
}
+
+
return result;
}
--
Gitblit v1.9.3