From 39004678a36c17fcea0674b54675a76c2d3b0528 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期五, 19 四月 2024 16:29:39 +0800 Subject: [PATCH] 增加雷达报警和视频巡检引导类型上报 --- ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 123 ++++++++++++++++++++++------------------- 1 files changed, 66 insertions(+), 57 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 51101e2..a35011c 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 @@ -2,6 +2,7 @@ import java.util.*; +import com.ruoyi.alarm.global.domain.GuidePoint; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; import com.ruoyi.common.utils.DateUtils; @@ -13,6 +14,7 @@ import com.ruoyi.inspect.domain.ArdVideoInspectRecord; import com.ruoyi.inspect.mapper.ArdVideoInspectRecordMapper; import com.ruoyi.inspect.mapper.ArdVideoInspectTaskStepMapper; +import com.ruoyi.utils.websocket.util.WebSocketUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import com.ruoyi.common.utils.StringUtils; @@ -115,7 +117,7 @@ public int updateArdVideoInspectTask(ArdVideoInspectTask ardVideoInspectTask) { ardVideoInspectTask.setUpdateBy(SecurityUtils.getUsername()); ardVideoInspectTask.setUpdateTime(DateUtils.getNowDate()); - // ardVideoInspectTaskMapper.deleteArdVideoInspectTaskStepByTaskId(ardVideoInspectTask.getId()); + ardVideoInspectTaskMapper.deleteArdVideoInspectTaskStepByTaskId(ardVideoInspectTask.getId()); insertArdVideoInspectTaskStep(ardVideoInspectTask); return ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); } @@ -183,14 +185,9 @@ } if (StringUtils.isNotNull(ardVideoInspectTaskStepList)) { for (ArdVideoInspectTaskStep ardVideoInspectTaskStep : ardVideoInspectTaskStepList) { - if (ardVideoInspectTaskStep.getId() == null) { //鏂扮殑姝ラ,娣诲姞 ardVideoInspectTaskStep.setId(IdUtils.simpleUUID()); ardVideoInspectTaskStepMapper.insertArdVideoInspectTaskStep(ardVideoInspectTaskStep); - } else { - //宸叉湁姝ラ,鏇存柊 - ardVideoInspectTaskStepMapper.updateArdVideoInspectTaskStep(ardVideoInspectTaskStep); - } } } } @@ -436,17 +433,13 @@ if (!StringUtils.isNull(wellId)) { /*鑾峰彇浜曞潗鏍�*/ ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId); - if(StringUtils.isNull(well)) - { + if (StringUtils.isNull(well)) { log.debug("鎵句笉鍒颁簳:" + well.getWellId()); return; } log.debug("鎵惧埌浜�:" + well.getWellId()); - double[] targetPositon = new double[3]; - targetPositon[0] = well.getLongitude(); - targetPositon[1] = well.getLatitude(); - //targetPositon[2] = well.getAltitude(); - log.debug("鎵惧埌浜曞潗鏍�:" +well.getLongitude()+"-"+well.getLatitude()+"-"+well.getAltitude()); + GuidePoint guidePoint = new GuidePoint().setLongitude(well.getLongitude()).setLatitude(well.getLatitude()); + log.debug("鎵惧埌浜曞潗鏍�:" + well.getLongitude() + "-" + well.getLatitude() + "-" + well.getAltitude()); /*鑾峰彇鐩告満鍧愭爣*/ ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId); if (StringUtils.isNull(cameras)) { @@ -454,22 +447,26 @@ return; } log.debug("鎵惧埌鐩告満:" + cameraId); - //double[] cameraPositon = new double[3]; - //cameraPositon[0] = cameras.getLongitude(); - //cameraPositon[1] = cameras.getLatitude(); - //cameraPositon[2] = cameras.getAltitude(); - /*鎺у埗鐩告満宸℃*/ CameraCmd cmd = new CameraCmd(); cmd.setCameraId(cameraId); cmd.setChanNo(channel); - cmd.setTargetPosition(targetPositon); + cmd.setTargetPosition(new double[]{guidePoint.getLongitude(), guidePoint.getLatitude()}); cmd.setOperator("sys_patrol_inspect"); - cmd.setExpired(step.getRecordingTime() * 60); - boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd); + cmd.setExpired(step.getRecordingTime());//绉掍负鍗曚綅 + boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd).get("code").equals(200); if (setTargetPosition) { /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/ cameraSdkService.recordStart(cmd); + //region 閫氱煡鍓嶇 + Map<String, Object> message = new HashMap<>(); + Map<String, String> data = new HashMap<>(); + data.put("cameraId", cmd.getCameraId()); + data.put("wellId", well.getWellId()); + data.put("type", ardVideoInspectTask.getInspectMode()+"宸℃"); + message.put("70000", data); + WebSocketUtils.sendMessageAll(message); + //endregion } else { /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/ ardVideoInspectTask.setCurrentStepStartTime(""); @@ -502,34 +499,43 @@ if (!StringUtils.isNull(wellId)) { /*鑾峰彇浜曞潗鏍�*/ ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId); - double[] targetPositon = new double[3]; - targetPositon[0] = well.getLongitude(); - targetPositon[1] = well.getLatitude(); - targetPositon[2] = well.getAltitude(); + if(StringUtils.isNull(well)) + { + log.debug("鎵句笉鍒颁簳:" + well.getWellId()); + return; + } + log.debug("鎵惧埌浜�:" + well.getWellId()); + GuidePoint guidePoint = new GuidePoint().setLongitude(well.getLongitude()).setLatitude(well.getLatitude()); /*鑾峰彇鐩告満鍧愭爣*/ ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId); if (StringUtils.isNull(cameras)) { log.debug("鎵句笉鍒扮浉鏈�:" + cameraId); return; } - double[] cameraPositon = new double[3]; - cameraPositon[0] = cameras.getLongitude(); - cameraPositon[1] = cameras.getLatitude(); - cameraPositon[2] = cameras.getAltitude(); + log.debug("鎵惧埌鐩告満:" + cameraId); /*鎺у埗鐩告満宸℃*/ CameraCmd cmd = new CameraCmd(); cmd.setCameraId(cameraId); cmd.setChanNo(channel); - cmd.setTargetPosition(targetPositon); + cmd.setTargetPosition(new double[]{guidePoint.getLongitude(), guidePoint.getLatitude()}); cmd.setOperator("sys_patrol_inspect"); - cmd.setExpired(step.getRecordingTime() * 60); - boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd); + cmd.setExpired(step.getRecordingTime());//绉掍负鍗曚綅 + boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd).get("code").equals(200); if (!setTargetPosition) { /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/ ardVideoInspectTask.setCurrentStepStartTime(""); ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(ardVideoInspectTask); } else { log.debug("寮曞鎴愬姛!"); + //region 閫氱煡鍓嶇 + Map<String, Object> message = new HashMap<>(); + Map<String, String> data = new HashMap<>(); + data.put("cameraId", cmd.getCameraId()); + data.put("wellId", well.getWellId()); + data.put("type", ardVideoInspectTask.getInspectMode()+"宸℃"); + message.put("70000", data); + WebSocketUtils.sendMessageAll(message); + //endregion } } } @@ -561,7 +567,7 @@ cmd.setChanNo(channel); cmd.setOperator("sys_patrol_inspect"); cmd.setRecordBucketName("record"); - cmd.setRecordObjectName("inspectGuide/" + DateUtils.getDateYYYYMMDD()+"/"+ IdUtils.fastSimpleUUID()); + cmd.setRecordObjectName("inspectGuide/" + DateUtils.getDateYYYYMMDD() + "/" + IdUtils.fastSimpleUUID()); String url = cameraSdkService.recordStopToMinio(cmd); /*鎻掑叆宸℃璁板綍*/ ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord(); @@ -572,7 +578,7 @@ ardVideoInspectRecord.setWellName(ardAlarmpointsWell.getWellId()); } Date currentStepStartDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartTime); - Date currentStepStopDate = DateUtils.addMinutes(currentStepStartDate, step.getRecordingTime()); + Date currentStepStopDate = DateUtils.addSeconds(currentStepStartDate, step.getRecordingTime()); ardVideoInspectRecord.setStartTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartDate)); ardVideoInspectRecord.setEndTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStopDate)); ardVideoInspectRecord.setRecordFilePath(url); @@ -598,7 +604,7 @@ ArdVideoInspectTaskStep currentStep = objectOptional.get(); /*鑾峰彇鍒板綋鍓嶆楠ょ殑寮�濮嬪拰缁撴潫鏃堕棿*/ Date currentStepStartDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartTime); - Date currentStepStopDate = DateUtils.addMinutes(currentStepStartDate, currentStep.getRecordingTime()); + Date currentStepStopDate = DateUtils.addSeconds(currentStepStartDate, currentStep.getRecordingTime()); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/ if (!DateUtils.TimeCompare(currentStepStartDate, currentStepStopDate)) { return true; @@ -665,32 +671,35 @@ public List getCameraIdleTimeList(String cameraId) { LinkedList<String> timeList = new LinkedList(); List<Map> usedPeriods = this.getTaskUsedCameraPeriods(cameraId); - for (Map p : - usedPeriods) { - timeList.add((String) p.get("start_time")); - timeList.add((String) p.get("end_time")); - } - //鍒ゆ柇绗竴涓捣濮嬬偣 - if (timeList.size() > 0) { - if ("00:00:00".equals(timeList.getFirst())) { - timeList.removeFirst(); - } else { - timeList.addFirst("00:00:00"); + //浜嬩欢娈典负绌�,鍒欏叏澶╀綔涓轰竴涓椂闂存 + if (usedPeriods.size() == 0) { + timeList.add("00:00:00"); + timeList.add("23:59:59"); + }else{ + for (Map p : + usedPeriods) { + timeList.add((String) p.get("start_time")); + timeList.add((String) p.get("end_time")); } - //鍒ゆ柇鏈�鍚庝竴涓粨鏉熸椂闂� - if ("23:59:59".equals(timeList.getLast())) { - timeList.removeLast(); - } else { - timeList.addLast("23:59:59"); - } - //浜嬩欢娈典负绌�,鍒欏叏澶╀綔涓轰竴涓椂闂存 - if (timeList.size() == 0) { - timeList.add("00:00:00"); - timeList.add("23:59:59"); - } + //鍒ゆ柇绗竴涓捣濮嬬偣 + if (timeList.size() > 0) { + if ("00:00:00".equals(timeList.getFirst())) { + timeList.removeFirst(); + } else { + timeList.addFirst("00:00:00"); + } + //鍒ゆ柇鏈�鍚庝竴涓粨鏉熸椂闂� + if ("23:59:59".equals(timeList.getLast())) { + timeList.removeLast(); + } else { + timeList.addLast("23:59:59"); + } + + } } + return timeList; } } -- Gitblit v1.9.3