From d0dda9bbe5f4df89b8275262519c7a6878e82e96 Mon Sep 17 00:00:00 2001 From: liusuyi <1951119284@qq.com> Date: 星期日, 28 四月 2024 16:40:23 +0800 Subject: [PATCH] 取消外联报警找不到井上报 --- ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java | 65 +++++++++++++++++++++++++------- 1 files changed, 51 insertions(+), 14 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java index afa6338..3ffd02d 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java @@ -5,6 +5,7 @@ import com.ruoyi.alarm.access.service.IArdAlarmAccessService; import com.ruoyi.alarm.external.domain.ArdAlarmExternal; import com.ruoyi.alarm.external.service.IArdAlarmExternalService; +import com.ruoyi.alarm.global.domain.GuidePoint; import com.ruoyi.alarm.global.domain.GuidePriorityQueue; import com.ruoyi.alarm.global.domain.GuideTask; import com.ruoyi.alarm.radar.domain.ArdAlarmRadarFire; @@ -91,6 +92,7 @@ } } } + //寮傛澶勭悊浠诲姟 public void processTask(GuideTask guideTask) { try { @@ -103,30 +105,44 @@ cmd.setChanNo(guideTask.getChanNo()); cmd.setOperator(guideTask.getAlarmType()); cmd.setExpired(30); + Map<String, Double> ptzMap=new HashMap<>(); + if(guideTask.getTargetPTZ()!=null) { + if (guideTask.getChanNo() == 1) { + ptzMap.put("p", guideTask.getTargetPTZ().getP1()); + ptzMap.put("t", guideTask.getTargetPTZ().getT1()); + ptzMap.put("z", guideTask.getTargetPTZ().getZ1()); + } + if (guideTask.getChanNo() == 2) { + ptzMap.put("p", guideTask.getTargetPTZ().getP2()); + ptzMap.put("t", guideTask.getTargetPTZ().getT2()); + ptzMap.put("z", guideTask.getTargetPTZ().getZ2()); + } + cmd.setPtzMap(ptzMap); + } cmd.setRecordBucketName("record"); - cmd.setTargetPosition(guideTask.getTargetPosition()); - cmd.setRecordObjectName("alarmGuide/"+ DateUtils.getDateYYYYMMDD()+"/"+guideTask.getAlarmType()+"/"+guideTask.getAlarmId()); + GuidePoint targetPosition = guideTask.getTargetPosition(); + cmd.setTargetPosition(new double[]{targetPosition.getLongitude(),targetPosition.getLatitude()}); + cmd.setRecordObjectName("alarmGuide/" + DateUtils.getDateYYYYMMDD() + "/" + guideTask.getAlarmType() + "/" + guideTask.getAlarmId()); ICameraSdkService cameraSdkService = SpringUtils.getBean(ICameraSdkService.class); log.debug("寮�濮嬪紩瀵�"); boolean recordFlag = false; - boolean guideRes = cameraSdkService.guideTargetPosition(cmd); + boolean guideRes = false; + if (guideTask.getIsGuidePTZ()) { + AjaxResult result = cameraSdkService.setPtz(cmd); + if (result.get("code").equals(200)) { + guideRes = true; + } + } else { + AjaxResult result = cameraSdkService.guideTargetPosition(cmd); + guideRes = result.get("code").equals(200); + } if (guideRes) { log.debug("寮曞鎴愬姛"); - //region 閫氱煡鍓嶇 - Map<String,Object> message = new HashMap<>(); - Map<String,String> data = new HashMap<>(); - data.put("cameraId",cmd.getCameraId()); - data.put("chanNo",cmd.getChanNo().toString()); - data.put("alarmType",cmd.getOperator()); - data.put("alarmId", guideTask.getAlarmId()); - data.put("wellId",guideTask.getWellId()); - message.put("70000",data); - WebSocketUtils.sendMessageAll(message); - //endregion cameraSdkService.controlLock(cmd);//涓婇攣 cameraSdkService.recordStart(cmd);//寮�濮嬪綍鍍� recordFlag = true; Instant startTime = Instant.now(); + Instant startTime1 = startTime; while (recordFlag) { //鍒ゆ柇鏃堕棿 Instant currentTime = Instant.now(); @@ -146,6 +162,27 @@ recordFlag = false;//褰曞儚鍋滄 } } + //region 閫氱煡鍓嶇 + long seconds = Duration.between(startTime1, currentTime).getSeconds(); + // 鍒ゆ柇褰撳墠鏃堕棿涓庝笂娆″彂閫佹暟鎹殑鏃堕棿闂撮殧鏄惁瓒呰繃2绉� + if (seconds == 2) { + Map<String, Object> message = new HashMap<>(); + Map<String, String> data = new HashMap<>(); + data.put("cameraId", cmd.getCameraId()); + data.put("wellId", guideTask.getWellId()); + switch (guideTask.getAlarmType()) + { + case "sys_radar_move":data.put("type", "闆疯揪绉诲姩鎶ヨ");break; + case "sys_radar_fire":data.put("type", "绾㈠闃茬伀鎶ヨ");break; + case "sys_radar_pump":data.put("type", "鎶芥补鏈哄仠鏈烘姤璀�");break; + default:data.put("type", "闆疯揪鎶ヨ");break; + } + + message.put("70000", data); + WebSocketUtils.sendMessageAll(message); + startTime1 = currentTime; // 鏇存柊涓婃鍙戦�佹暟鎹殑鏃堕棿鎴� + } + //endregion } if (StringUtils.isNotEmpty(url)) { switch (guideTask.getAlarmType()) { -- Gitblit v1.9.3