From 7f21d4f22ec711d6aa89900b07e0b5ac31dbac42 Mon Sep 17 00:00:00 2001 From: Administrator <1144154118@qq.com> Date: 星期五, 25 八月 2023 17:15:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java | 57 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 33 insertions(+), 24 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 0529d64..4cefccd 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 @@ -34,8 +34,8 @@ import com.ruoyi.common.utils.StringUtils; import com.ruoyi.device.external.domain.ArdEquipExternal; import com.ruoyi.device.external.mapper.ArdEquipExternalMapper; +import com.ruoyi.utils.gis.GisUtil; import com.ruoyi.utils.tools.ArdTool; -import com.ruoyi.utils.tools.GisTool; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.mapper.ArdCamerasMapper; @@ -679,7 +679,6 @@ log.info("鐩告満:" + cameraId + "鏈紑鍚姤璀﹀紩瀵煎姛鑳�"); return; } - SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); GuideTask guideTask = new GuideTask(); //鐩告満ID @@ -737,35 +736,45 @@ */ private String getNearbyCamera(double[] targetPosition) { String minDistanceCameraId = ""; - //鑾峰彇鎵�鏈夊ぇ鍏夌數 - List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(new ArdCameras("1")); - //缁熻鎵�鏈夊ぇ鍏夌數鍙鑼冨洿鍐呬笌鎶ヨ鐐圭殑璺濈 - Map<String, Double> distanceMap = new HashMap<>(); - Map<String, Integer> guideMap = new HashMap<>(); - for (ArdCameras camera : ardCamerasList) { - double[] camPosition = new double[]{camera.getLongitude(), camera.getLatitude()}; - double distance = GisTool.getDistance(targetPosition, camPosition); - if (distance != 0.0 && distance <= camera.getCamMaxVisibleDistance()) { - distanceMap.put(camera.getId(), distance); - if (StringUtils.isNull(camera.getCamAlarmGuideEnable())) { - camera.setCamAlarmGuideEnable(0); + try { + //鑾峰彇鎵�鏈夊ぇ鍏夌數 + List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(new ArdCameras("1")); + //缁熻鎵�鏈夊ぇ鍏夌數鍙鑼冨洿鍐呬笌鎶ヨ鐐圭殑璺濈 + Map<String, Double> distanceMap = new HashMap<>(); + Map<String, Integer> guideMap = new HashMap<>(); + for (ArdCameras camera : ardCamerasList) { + if (camera.getCamMaxVisibleDistance() == null) { + continue; } - guideMap.put(camera.getId(), camera.getCamAlarmGuideEnable()); + double[] camPosition = new double[]{camera.getLongitude(), camera.getLatitude()}; + double distance = GisUtil.getDistance(targetPosition, camPosition); + if (distance != 0.0 && distance <= camera.getCamMaxVisibleDistance()) { + distanceMap.put(camera.getId(), distance); + if (StringUtils.isNull(camera.getCamAlarmGuideEnable())) { + camera.setCamAlarmGuideEnable(0); + } + guideMap.put(camera.getId(), camera.getCamAlarmGuideEnable()); + } + } + if (distanceMap.size() > 0) { + log.debug("灏濊瘯鏌ユ壘鏈�杩戝厜鐢�"); + //鑾峰彇璺濈瀛楀吀涓渶杩戠殑涓�涓浉鏈篒D + minDistanceCameraId = ArdTool.getKeyByMinValue(distanceMap); + log.debug("鏌ユ壘鍒版渶杩戝厜鐢�:" + minDistanceCameraId); + if (guideMap.get(minDistanceCameraId).equals(0)) { + log.debug("璇ュ厜鐢垫湭寮�鍚姤璀﹀紩瀵�"); + return " "; + } } } - if (distanceMap.size() > 0) { - log.debug("灏濊瘯鏌ユ壘鏈�杩戝厜鐢�"); - //鑾峰彇璺濈瀛楀吀涓渶杩戠殑涓�涓浉鏈篒D - minDistanceCameraId = ArdTool.getKeyByMinValue(distanceMap); - log.debug("鏌ユ壘鍒版渶杩戝厜鐢�:" + minDistanceCameraId); - if (guideMap.get(minDistanceCameraId).equals(0)) { - log.debug("璇ュ厜鐢垫湭寮�鍚姤璀﹀紩瀵�"); - return " "; - } + catch (Exception ex) + { + log.error("鑾峰彇闄勮繎寮�鍚姤璀﹀紩瀵煎姛鑳藉厜鐢靛紓甯�:"+ex.getMessage()); } return minDistanceCameraId; } + /** * 闆疯揪寮曞鍏ラ槦 */ -- Gitblit v1.9.3