From 9b9af4c9457c03061ce4d0bb7656a2c3ad04894e Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期二, 07 五月 2024 15:05:20 +0800
Subject: [PATCH] 视频标签加入有高程及无高程判断提交
---
ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 147 +++++++++++++++++++++++++++---------------------
1 files changed, 83 insertions(+), 64 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..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
@@ -1,6 +1,8 @@
package com.ruoyi.inspect.service.impl;
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;
@@ -12,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;
@@ -21,6 +24,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;
@@ -113,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);
}
@@ -181,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);
- }
}
}
}
@@ -433,33 +432,41 @@
String wellId = step.getWellId();
if (!StringUtils.isNull(wellId)) {
/*鑾峰彇浜曞潗鏍�*/
- ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
- double[] targetPositon = new double[3];
- targetPositon[0] = ardAlarmpointsWell.getLongitude();
- targetPositon[1] = ardAlarmpointsWell.getLatitude();
- targetPositon[2] = ardAlarmpointsWell.getAltitude();
- /*鑾峰彇鐩告満鍧愭爣*/
- ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId);
- if(StringUtils.isNull(cameras))
- {
- log.debug("鎵句笉鍒扮浉鏈�:"+cameraId);
+ ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
+ if (StringUtils.isNull(well)) {
+ log.debug("鎵句笉鍒颁簳:" + well.getWellId());
return;
}
- double[] cameraPositon = new double[3];
- cameraPositon[0] = cameras.getLongitude();
- cameraPositon[1] = cameras.getLatitude();
- cameraPositon[2] = cameras.getAltitude();
+ log.debug("鎵惧埌浜�:" + well.getWellId());
+ 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)) {
+ log.debug("鎵句笉鍒扮浉鏈�:" + cameraId);
+ return;
+ }
+ 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) {
/*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/
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("");
@@ -491,36 +498,44 @@
String wellId = step.getWellId();
if (!StringUtils.isNull(wellId)) {
/*鑾峰彇浜曞潗鏍�*/
- ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
- double[] targetPositon = new double[3];
- targetPositon[0] = ardAlarmpointsWell.getLongitude();
- targetPositon[1] = ardAlarmpointsWell.getLatitude();
- targetPositon[2] = ardAlarmpointsWell.getAltitude();
- /*鑾峰彇鐩告満鍧愭爣*/
- ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId);
- if(StringUtils.isNull(cameras))
+ ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
+ if(StringUtils.isNull(well))
{
- log.debug("鎵句笉鍒扮浉鏈�:"+cameraId);
+ log.debug("鎵句笉鍒颁簳:" + well.getWellId());
return;
}
- double[] cameraPositon = new double[3];
- cameraPositon[0] = cameras.getLongitude();
- cameraPositon[1] = cameras.getLatitude();
- cameraPositon[2] = cameras.getAltitude();
+ 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;
+ }
+ 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
}
}
}
@@ -552,7 +567,7 @@
cmd.setChanNo(channel);
cmd.setOperator("sys_patrol_inspect");
cmd.setRecordBucketName("record");
- cmd.setRecordObjectName("inspect_" + IdUtils.fastSimpleUUID());
+ cmd.setRecordObjectName("inspectGuide/" + DateUtils.getDateYYYYMMDD() + "/" + IdUtils.fastSimpleUUID());
String url = cameraSdkService.recordStopToMinio(cmd);
/*鎻掑叆宸℃璁板綍*/
ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord();
@@ -563,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);
@@ -589,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;
@@ -649,38 +664,42 @@
/**
* 鑾峰彇鐩告満鐨勭┖闂叉椂娈�
+ *
* @param cameraId
* @return
*/
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