From e8d53b7555595df35bd2fe03a5c5cf449c38859c Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 14 十二月 2023 13:30:49 +0800
Subject: [PATCH] 增加PTZ引导优先; 井管理增加可见光和热红外ptz设置; 雷达报警引导只需要引导雷达塔上的光电,通道根据日夜切换自动选择; 引导优先按井配置的ptz进行引导,当未配置时按经纬度进行引导; 相机优先级队列排序取消报警次数num比对,仅由优先级和接收时间作为比较器条件;

---
 ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java |   92 ++++++++++++----------------------------------
 1 files changed, 24 insertions(+), 68 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
index 28d68cd..db7b2d9 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -1039,8 +1039,6 @@
                                     .setAlarmId(ardAlarmTube.getId())
                                     .setAlarmType("sys_tube_leak")
                                     .setReceiveTime(ardAlarmTube.getCreateTime())
-                                    .setNum(1)
-                                    .setRecordSn(1)
                                     .setTargetPosition(coordinate);
                             messagesEnqueued(guideDataDto);
                         }
@@ -1073,13 +1071,17 @@
                         if (well == null) {
                             return;
                         }
-                        Double guideP = well.getGuideP();
-                        Double guideT = well.getGuideT();
-                        Double guideZ = well.getGuideZ();
+
                         Double longitude = well.getLongitude();
                         Double latitude = well.getLatitude();
                         String targetId = ardAlarmRadar.getTargetId();
                         GuidePTZ guidePTZ = new GuidePTZ();
+                        guidePTZ.setP1(well.getGuideP1());
+                        guidePTZ.setT1(well.getGuideT1());
+                        guidePTZ.setZ1(well.getGuideZ1());
+                        guidePTZ.setP2(well.getGuideP2());
+                        guidePTZ.setT2(well.getGuideT2());
+                        guidePTZ.setZ2(well.getGuideZ2());
                         switch (ardAlarmRadar.getAlarmType()) {
                             case "杩愬姩鐩爣妫�娴�":
                                 ArdAlarmRadarMove ardAlarmRadarMove = new ArdAlarmRadarMove();
@@ -1093,10 +1095,6 @@
                                 ardAlarmRadarMove.setLatitude(latitude);
                                 ardAlarmRadarMove.setUpdateTime(radarAlarmData.getAlarmTime());
                                 ardAlarmRadarMove.setRadarId(radarId);
-
-                                guidePTZ.setP(guideP);
-                                guidePTZ.setT(guideT);
-                                guidePTZ.setZ(guideZ);
                                 ardAlarmRadarMove.setGuidePTZ(guidePTZ);
                                 Date alarmTime = ardAlarmRadarMove.getAlarmTime();
                                 //鑾峰彇褰撳墠鍏磋叮鐐瑰綋鍓嶉浄杈剧殑涓婁竴鏉℃暟鎹�
@@ -1150,9 +1148,6 @@
                                 ardAlarmRadarFire.setAlarmType("鐑簮妫�娴�");
                                 ardAlarmRadarFire.setLongitude(longitude);
                                 ardAlarmRadarFire.setLatitude(latitude);
-                                guidePTZ.setP(guideP);
-                                guidePTZ.setT(guideT);
-                                guidePTZ.setZ(guideZ);
                                 ardAlarmRadarFire.setGuidePTZ(guidePTZ);
                                 ardAlarmRadarFire.setRadarId(radarId);
                                 ardAlarmRadarFire.setUpdateTime(radarAlarmData.getAlarmTime());
@@ -1203,9 +1198,6 @@
                                 alarmTime = ardAlarmRadarPump.getAlarmTime();
                                 ardAlarmRadarPump.setLongitude(well.getLongitude());
                                 ardAlarmRadarPump.setLatitude(well.getLatitude());
-                                guidePTZ.setP(guideP);
-                                guidePTZ.setT(guideT);
-                                guidePTZ.setZ(guideZ);
                                 ardAlarmRadarPump.setGuidePTZ(guidePTZ);
                                 //
                                 ArdAlarmRadarPump lastPumpData = ardAlarmRadarPumpMapper.selectArdAlarmRadarLastData(ardAlarmRadarPump.getName());
@@ -1251,9 +1243,16 @@
                     //澶栬仈闃插尯鍚嶇О灏辨槸鍏磋叮鐐癸紝鏌ュ叴瓒g偣鍧愭爣
                     String defenseName = ardAlarmExternal.getDefenseName();
                     ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(defenseName);
+                    GuidePTZ guidePTZ = new GuidePTZ();
                     if (StringUtils.isNotNull(well)) {
                         ardAlarmExternal.setLongitude(well.getLongitude());
                         ardAlarmExternal.setLatitude(well.getLatitude());
+                        guidePTZ.setP1(well.getGuideP1());
+                        guidePTZ.setT1(well.getGuideT1());
+                        guidePTZ.setZ1(well.getGuideZ1());
+                        guidePTZ.setP2(well.getGuideP2());
+                        guidePTZ.setT2(well.getGuideT2());
+                        guidePTZ.setZ2(well.getGuideZ2());
                     }
                     int aae = ardAlarmExternalMapper.insertArdAlarmExternal(ardAlarmExternal);
                     if (aae > 0) {
@@ -1263,10 +1262,6 @@
                             return;
                         }
                         double[] coordinate = new double[]{ardAlarmExternal.getLongitude(), ardAlarmExternal.getLatitude()};//寮曞鍧愭爣
-                        GuidePTZ guidePTZ = new GuidePTZ()
-                                .setP(well.getGuideP())
-                                .setT(well.getGuideT())
-                                .setZ(well.getGuideZ());
                         String cameraId = getCameraByNear(coordinate);//鏈�杩戠浉鏈篒D
                         if (StringUtils.isNotEmpty(cameraId)) {
                             GuideDataDto guideDataDto = new GuideDataDto()
@@ -1274,8 +1269,6 @@
                                     .setAlarmId(ardAlarmExternal.getId())
                                     .setAlarmType("sys_external")
                                     .setReceiveTime(ardAlarmExternal.getCreateTime())
-                                    .setNum(1)
-                                    .setRecordSn(1)
                                     .setTargetPosition(coordinate)
                                     .setGuidePTZ(guidePTZ);
                             messagesEnqueued(guideDataDto);
@@ -1314,8 +1307,6 @@
                                     .setAlarmId(ardAlarmAccess.getId())
                                     .setAlarmType("sys_external")
                                     .setReceiveTime(ardAlarmAccess.getCreateTime())
-                                    .setNum(1)
-                                    .setRecordSn(1)
                                     .setTargetPosition(coordinate);
                             messagesEnqueued(guideDataDto);
                         }
@@ -1379,16 +1370,13 @@
     private void messagesEnqueued(GuideDataDto guideDataDto) {
         try {
             String cameraId = guideDataDto.getCameraId();
-            String alarmType = guideDataDto.getAlarmType();
             if (!IsEnableGuide(cameraId)) {
                 log.info("鐩告満:" + cameraId + "鏈紑鍚姤璀﹀紩瀵煎姛鑳�");
                 return;
             }
-            SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
             GuideTask guideTask = new GuideTask();
-            //鐩告満ID
-            guideTask.setCameraId(cameraId);
-            //鎶ヨ绫诲瀷
+            guideTask.setCameraId(cameraId);//鐩告満ID
+            String alarmType = guideDataDto.getAlarmType();
             switch (alarmType) {
                 case "杩愬姩鐩爣妫�娴�":
                     alarmType = "sys_radar_move";
@@ -1400,15 +1388,11 @@
                     alarmType = "sys_radar_pump";
                     break;
             }
-            guideTask.setAlarmType(alarmType);
-            //閫氶亾(閫氳繃鏃ュ鏃堕棿鐮斿垽)
-            String dayNightTime = redisCache.getCacheObject("sys_config:dayNightTime");
-            Integer channel = ArdTool.getChannelBydayNightTime(dayNightTime);
-            guideTask.setChanNum(channel);
-            //鎶ヨID
-            guideTask.setAlarmId(guideDataDto.getAlarmId());
-            //鎺ユ敹鏃堕棿
-            guideTask.setReceiveTime(fmt.format(guideDataDto.getReceiveTime()));
+            guideTask.setAlarmType(alarmType);//鎶ヨ绫诲瀷
+            Integer chanNo = ArdTool.getChannelBydayNightTime(redisCache.getCacheObject("sys_config:dayNightTime"));
+            guideTask.setChanNo(chanNo);//閫氶亾(閫氳繃鏃ュ鏃堕棿鐮斿垽)
+            guideTask.setAlarmId(guideDataDto.getAlarmId()); //鎶ヨID
+            guideTask.setReceiveTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS_MS,guideDataDto.getReceiveTime()));//鎺ユ敹鏃堕棿
             //鎶ヨ浼樺厛绾�(閫氳繃浼樺厛绾у瓧鍏�)
             String priority = DictUtils.getDictValue("cameras_priority", alarmType);
             if (StringUtils.isEmpty(priority)) {
@@ -1416,15 +1400,9 @@
                 return;
             }
             guideTask.setPriority(Integer.valueOf(priority));
-            //鎶ヨ娆℃暟
-            guideTask.setNum(guideDataDto.getNum());
-            //褰曞儚瀛樺偍浣嶇疆
-            guideTask.setRecordSn(guideDataDto.getRecordSn());
-            //鐩爣缁忕含搴�
-            guideTask.setTargetPosition(guideDataDto.getTargetPosition());
-            //鐩爣PTZ
+            guideTask.setTargetPosition(guideDataDto.getTargetPosition());//鐩爣缁忕含搴�
             if (guideDataDto.getGuidePTZ() != null) {
-                guideTask.setGuidePTZ(guideDataDto.getGuidePTZ());
+                guideTask.setGuidePTZ(guideDataDto.getGuidePTZ());//鐩爣PTZ
             }
             //娑堟伅鍏ラ槦
             queueHandler.addTaskToQueue(cameraId, guideTask);
@@ -1494,8 +1472,7 @@
 
     //鑾峰彇鐩告満寮曞鍏ラ槦
     private void getCameraGuideToQueue(GuideDataDto guideDataDto) {
-        int index = guideDataDto.getName().indexOf("(");
-        String alarmpointName = guideDataDto.getName().substring(0, index);
+
         //鑾峰彇闆疯揪鎵�鍦ㄥ涓婄殑澶у厜鐢�
         ArdCameras cameraWithTower = ardEquipRadarMapper.getCameraByRadar(guideDataDto.getRadarId());
         if (StringUtils.isNotNull(cameraWithTower)) {
@@ -1505,21 +1482,6 @@
             messagesEnqueued(guideDataDto);
         } else {
             log.debug("鏈幏鍙栧埌闆疯揪濉斾笂鐨勫厜鐢�,鏃犳硶寮曞");
-        }
-        //鑾峰彇鎶ヨ鐐瑰叧鑱旂殑澶у厜鐢�
-        ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName);
-        if (StringUtils.isNotNull(ardAlarmpointsWell) && StringUtils.isNotEmpty(ardAlarmpointsWell.getCameraId())) {
-            String cameraId = ardAlarmpointsWell.getCameraId();
-            if (cameraId.equals(cameraWithTower.getId())) {
-                return;
-            }
-            log.debug("鑾峰彇鍒版姤璀︾偣鍏宠仈鐨勫厜鐢�:" + cameraId);
-            //濡傛灉鎶ヨ鐐瑰叧鑱斾簡鍏夌數
-            guideDataDto.setCameraId(cameraId);
-            guideDataDto.setRecordSn(2);//鍏磋叮鐐瑰厜鐢靛紩瀵煎綍鍍忓瓨鍌ㄧ浜屼釜璺緞
-            messagesEnqueued(guideDataDto);
-        } else {
-            log.debug("鏈幏鍙栧埌鎶ヨ鐐瑰叧鑱旂殑鍏夌數,鏃犳硶寮曞");
         }
     }
 
@@ -1538,8 +1500,6 @@
                 .setAlarmId(ardAlarmRadarMove.getId())
                 .setAlarmType(ardAlarmRadarMove.getAlarmType())
                 .setReceiveTime(ardAlarmRadarMove.getCreateTime())
-                .setNum(1)
-                .setRecordSn(1)
                 .setTargetPosition(coordinate)
                 .setGuidePTZ(ardAlarmRadarMove.getGuidePTZ());
         getCameraGuideToQueue(guideDataDto);//鑾峰彇鐩告満鍏ラ槦
@@ -1560,8 +1520,6 @@
                 .setAlarmId(ardAlarmRadarFire.getId())
                 .setAlarmType(ardAlarmRadarFire.getAlarmType())
                 .setReceiveTime(ardAlarmRadarFire.getCreateTime())
-                .setNum(1)
-                .setRecordSn(1)
                 .setTargetPosition(coordinate)
                 .setGuidePTZ(ardAlarmRadarFire.getGuidePTZ());
         getCameraGuideToQueue(guideDataDto);//鑾峰彇鐩告満鍏ラ槦
@@ -1583,8 +1541,6 @@
                 .setAlarmId(ardAlarmRadarPump.getId())
                 .setAlarmType(ardAlarmRadarPump.getAlarmType())
                 .setReceiveTime(ardAlarmRadarPump.getCreateTime())
-                .setNum(1)
-                .setRecordSn(1)
                 .setTargetPosition(coordinate)
                 .setGuidePTZ(ardAlarmRadarPump.getGuidePTZ());
         getCameraGuideToQueue(guideDataDto);//鑾峰彇鐩告満鍏ラ槦

--
Gitblit v1.9.3