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/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 71 +++++++++++++++++++++++++++-------- 1 files changed, 55 insertions(+), 16 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java index 3ca1966..8f45372 100644 --- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.inspect.service.impl; import java.util.*; + import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; import com.ruoyi.common.utils.DateUtils; @@ -21,6 +22,7 @@ import com.ruoyi.inspect.mapper.ArdVideoInspectTaskMapper; import com.ruoyi.inspect.domain.ArdVideoInspectTask; import com.ruoyi.inspect.service.IArdVideoInspectTaskService; + import javax.annotation.PostConstruct; import javax.annotation.Resource; @@ -433,16 +435,15 @@ String wellId = step.getWellId(); if (!StringUtils.isNull(wellId)) { /*鑾峰彇浜曞潗鏍�*/ - ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId); + ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId); double[] targetPositon = new double[3]; - targetPositon[0] = ardAlarmpointsWell.getLongitude(); - targetPositon[1] = ardAlarmpointsWell.getLatitude(); - targetPositon[2] = ardAlarmpointsWell.getAltitude(); + targetPositon[0] = well.getLongitude(); + targetPositon[1] = well.getLatitude(); + targetPositon[2] = well.getAltitude(); /*鑾峰彇鐩告満鍧愭爣*/ ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId); - if(StringUtils.isNull(cameras)) - { - log.debug("鎵句笉鍒扮浉鏈�:"+cameraId); + if (StringUtils.isNull(cameras)) { + log.debug("鎵句笉鍒扮浉鏈�:" + cameraId); return; } double[] cameraPositon = new double[3]; @@ -456,7 +457,26 @@ cmd.setTargetPosition(targetPositon); cmd.setOperator("sys_patrol_inspect"); cmd.setExpired(step.getRecordingTime() * 60); - boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd); + Map<String, Double> ptzMap = new HashMap<>(); + switch (channel) { + case 1: + ptzMap.put("p", well.getGuideP1()); + ptzMap.put("t", well.getGuideT1()); + ptzMap.put("z", well.getGuideZ1()); + break; + case 2: + ptzMap.put("p", well.getGuideP2()); + ptzMap.put("t", well.getGuideT2()); + ptzMap.put("z", well.getGuideZ2()); + break; + } + cmd.setPtzMap(ptzMap); + boolean setTargetPosition; + if (cmd.getPtzMap().get("p") != null) { + setTargetPosition = cameraSdkService.setPtz(cmd); + } else { + setTargetPosition = cameraSdkService.guideTargetPosition(cmd); + } if (setTargetPosition) { /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/ cameraSdkService.recordStart(cmd); @@ -491,16 +511,15 @@ String wellId = step.getWellId(); if (!StringUtils.isNull(wellId)) { /*鑾峰彇浜曞潗鏍�*/ - ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId); + ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId); double[] targetPositon = new double[3]; - targetPositon[0] = ardAlarmpointsWell.getLongitude(); - targetPositon[1] = ardAlarmpointsWell.getLatitude(); - targetPositon[2] = ardAlarmpointsWell.getAltitude(); + targetPositon[0] = well.getLongitude(); + targetPositon[1] = well.getLatitude(); + targetPositon[2] = well.getAltitude(); /*鑾峰彇鐩告満鍧愭爣*/ ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId); - if(StringUtils.isNull(cameras)) - { - log.debug("鎵句笉鍒扮浉鏈�:"+cameraId); + if (StringUtils.isNull(cameras)) { + log.debug("鎵句笉鍒扮浉鏈�:" + cameraId); return; } double[] cameraPositon = new double[3]; @@ -514,7 +533,26 @@ cmd.setTargetPosition(targetPositon); cmd.setOperator("sys_patrol_inspect"); cmd.setExpired(step.getRecordingTime() * 60); - boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd); + Map<String, Double> ptzMap = new HashMap<>(); + switch (channel) { + case 1: + ptzMap.put("p", well.getGuideP1()); + ptzMap.put("t", well.getGuideT1()); + ptzMap.put("z", well.getGuideZ1()); + break; + case 2: + ptzMap.put("p", well.getGuideP2()); + ptzMap.put("t", well.getGuideT2()); + ptzMap.put("z", well.getGuideZ2()); + break; + } + cmd.setPtzMap(ptzMap); + boolean setTargetPosition; + if (cmd.getPtzMap().get("p") != null) { + setTargetPosition = cameraSdkService.setPtz(cmd); + } else { + setTargetPosition = cameraSdkService.guideTargetPosition(cmd); + } if (!setTargetPosition) { /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/ ardVideoInspectTask.setCurrentStepStartTime(""); @@ -649,6 +687,7 @@ /** * 鑾峰彇鐩告満鐨勭┖闂叉椂娈� + * * @param cameraId * @return */ -- Gitblit v1.9.3