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