From e4d7da0fc500395f70f13d6c46bd7227c8644ec4 Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: 星期三, 29 十一月 2023 21:18:59 +0800
Subject: [PATCH] 增加雷达引导相机跟踪

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java |  223 +------------------------------------------------------
 1 files changed, 7 insertions(+), 216 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
index e51cd61..675ff00 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
@@ -1,26 +1,10 @@
 package com.ruoyi.quartz.task;
 
-import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
-import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService;
-import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.device.camera.domain.ArdCameras;
-import com.ruoyi.device.camera.domain.CameraCmd;
-import com.ruoyi.device.camera.service.IArdCamerasService;
-import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
-import com.ruoyi.device.hiksdk.service.IHikClientService;
-import com.ruoyi.inspect.domain.ArdVideoInspectRecord;
-import com.ruoyi.inspect.domain.ArdVideoInspectTask;
-import com.ruoyi.inspect.domain.ArdVideoInspectTaskStep;
-import com.ruoyi.inspect.service.IArdVideoInspectRecordService;
 import com.ruoyi.inspect.service.IArdVideoInspectTaskService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
-
 import javax.annotation.Resource;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.*;
+
 
 /**
  * @Description: 宸℃浠诲姟
@@ -30,210 +14,17 @@
  * @Version: 1.0
  **/
 @Component("PatrolInspectionTask")
-@Slf4j(topic = "PatrolInspectionTask")
 public class PatrolInspectionTask {
 
     @Resource
     IArdVideoInspectTaskService ardVideoInspectTaskService;
-    @Resource
-    IArdAlarmpointsWellService ardAlarmpointsWellService;
-    @Resource
-    IArdVideoInspectRecordService ardVideoInspectRecordService;
-    @Resource
-    IArdCamerasService ardCamerasService;
-    @Resource
-    IHikClientService hikClientService;
 
+    /**
+     * 瀹氭椂宸℃浠诲姟
+     * 鍒樿嫃涔�
+     * 2023/8/9 9:18:42
+     */
     public void scanRun() {
-        /*鎵弿鎵�鏈夊彲鎵ц浠诲姟1-鏃堕棿婊¤冻2-鑷姩*/
-        ArdVideoInspectTask ardVideoInspectTask = new ArdVideoInspectTask();
-        ardVideoInspectTask.setInspectMode("鑷姩");
-        List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskService.selectArdVideoInspectTaskList(ardVideoInspectTask);
-        for (ArdVideoInspectTask videoInspectTask : ardVideoInspectTasks) {
-            /*閬嶅巻鎵�鏈夋椂闂存弧瓒崇殑鑷姩浠诲姟*/
-            boolean timeCompare = DateUtils.TimeCompare(videoInspectTask.getStartTime(), videoInspectTask.getEndTime());
-            if (timeCompare) {
-                /*鑾峰彇褰撳墠浠诲姟鐨勬墍鏈夊贰妫�姝ラ*/
-                List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTaskService.selectArdVideoInspectTaskById(videoInspectTask.getId()).getArdVideoInspectTaskStepList();
-                if (ardVideoInspectTaskStepList.size() == 0) {
-                    continue;
-                }
-                videoInspectTask.setArdVideoInspectTaskStepList(ardVideoInspectTaskStepList);
-                String currentStepId = videoInspectTask.getCurrentStepId();
-                if (StringUtils.isNull(currentStepId)) {
-                    videoInspectTask.setCurrentStepId(ardVideoInspectTaskStepList.get(0).getId());
-                    startRunStep(videoInspectTask);//寮�濮嬪綋鍓嶄换鍔$殑绗竴涓楠�
-                } else /*褰撳墠浠诲姟宸茬粡鎵ц锛屽垽鏂槸鍚﹀埌鏈�*/ {
-                    boolean expird = isExpirdStep(videoInspectTask); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/
-                    if (expird) {
-                        /*宸茶繃鏈�,鍋滄褰曞儚*/
-
-                        stopRunStep(videoInspectTask);
-                        /*鍒囨崲涓嬩竴姝�*/
-                        String nextStepId = changeNextStep(videoInspectTask);
-                        /*寮�濮�*/
-                        videoInspectTask.setCurrentStepId(nextStepId);
-                        startRunStep(videoInspectTask);
-                    }
-                }
-            }
-        }
-    }
-
-    //姝ラ寮�濮�
-    private void startRunStep(ArdVideoInspectTask ardVideoInspectTask) {
-        String currentStepId = ardVideoInspectTask.getCurrentStepId();
-        if(StringUtils.isNull(currentStepId))
-        {
-            log.info("褰撳墠寮�濮嬪贰妫�姝ラid涓虹┖");
-            return;
-        }
-        log.info("姝ラ锛�" + currentStepId + "寮�濮�");
-        String cameraId = ardVideoInspectTask.getCameraId();
-        Integer channel = ardVideoInspectTask.getChannel();
-        Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-                .filter(obj -> obj.getId().equals(currentStepId))
-                .findFirst();
-        if (objectOptional.isPresent()) {
-            ArdVideoInspectTaskStep step = objectOptional.get();
-            String wellId = step.getWellId();
-            if (!StringUtils.isNull(wellId)) {
-                /*鑾峰彇浜曞潗鏍�*/
-                ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellService.selectArdAlarmpointsWellById(wellId);
-                double[] targetPositon = new double[3];
-                targetPositon[0] = ardAlarmpointsWell.getLongitude();
-                targetPositon[1] = ardAlarmpointsWell.getLatitude();
-                targetPositon[2] = ardAlarmpointsWell.getAltitude();
-                /*鑾峰彇鐩告満鍧愭爣*/
-                ArdCameras cameras = ardCamerasService.selectArdCamerasById(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.setChannelNum(channel);
-                cmd.setCamPosition(cameraPositon);
-                cmd.setTargetPosition(targetPositon);
-                cmd.setOperator("sys_patrol_inspect");
-                cmd.setExpired(step.getRecordingTime());
-                boolean setTargetPosition = hikClientService.setTargetPosition(cmd);
-                if (setTargetPosition) {
-                    /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/
-                    cmd.setEnable(true);//鍚姩褰曞儚
-                    hikClientService.recordToMinio(cmd);
-                    /*鏇存柊浠诲姟褰撳墠姝ラid鍜屾楠ゅ惎鍔ㄦ椂闂�*/
-                    ArdVideoInspectTask avit = new ArdVideoInspectTask();
-                    avit.setId(ardVideoInspectTask.getId());
-                    avit.setCurrentStepId(step.getId());
-                    avit.setCurrentStepStartTime(DateUtils.getTime());
-                    ardVideoInspectTaskService.updateArdVideoInspectTaskNoUpdater(avit);
-                }
-            }
-        }
-    }
-
-    //姝ラ鍋滄
-    private void stopRunStep(ArdVideoInspectTask ardVideoInspectTask) {
-        String currentStepId = ardVideoInspectTask.getCurrentStepId();
-        log.info("姝ラ锛�" + currentStepId + "鍋滄");
-        if(StringUtils.isNull(currentStepId))
-        {
-            log.info("褰撳墠鍋滄宸℃姝ラid涓虹┖");
-            return;
-        }
-        String currentStepStartTime = ardVideoInspectTask.getCurrentStepStartTime();
-        String cameraId = ardVideoInspectTask.getCameraId();
-        Integer channel = ardVideoInspectTask.getChannel();
-        Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-                .filter(obj -> obj.getId().equals(currentStepId))
-                .findFirst();
-        if (objectOptional.isPresent()) {
-            ArdVideoInspectTaskStep step = objectOptional.get();
-            /*鍋滄褰曞儚*/
-            CameraCmd cmd = new CameraCmd();
-            cmd.setCameraId(cameraId);
-            cmd.setChannelNum(channel);
-            cmd.setOperator("sys_patrol_inspect");
-            cmd.setEnable(false);//鍋滄褰曞儚
-            String uuid = UUID.randomUUID().toString().replace("-", "");
-            String time = new SimpleDateFormat("yyyyMMdd").format(new Date());
-            String recordName = cameraId + "/" + time + "/" + uuid + ".mp4";
-            cmd.setRecordBucketName("record");
-            cmd.setRecordObjectName(recordName);
-            hikClientService.recordToMinio(cmd);
-            /*鎻掑叆宸℃璁板綍*/
-            ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord();
-            ardVideoInspectRecord.setStepId(step.getId());
-            Date currentStepStartDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartTime);
-            Date currentStepStopDate = DateUtils.addMinutes(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));
-            String url = MinioClientSingleton.domainUrl + "/" + cmd.getRecordBucketName() + "/" + recordName;
-            ardVideoInspectRecord.setRecordFilePath(url);
-            ardVideoInspectRecordService.insertArdVideoInspectRecord(ardVideoInspectRecord);
-        }
-    }
-
-    //姝ラ鍒ゆ柇鏄惁杩囨湡
-    private boolean isExpirdStep(ArdVideoInspectTask ardVideoInspectTask) {
-        List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTask.getArdVideoInspectTaskStepList();
-        /*鑾峰彇褰撳墠浠诲姟姝e湪鎵ц鐨勬楠ゅ拰褰撳墠姝ラ寮�濮嬬殑鏃堕棿*/
-        String currentStepId = ardVideoInspectTask.getCurrentStepId();
-        String currentStepStartTime = ardVideoInspectTask.getCurrentStepStartTime();
-        Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTaskStepList.stream()
-                .filter(ardVideoInspectTaskStep -> ardVideoInspectTaskStep.getId().equals(currentStepId))
-                .findFirst();
-        if (objectOptional.isPresent()) {
-            /*鑾峰彇褰撳墠姝ラ淇℃伅*/
-            ArdVideoInspectTaskStep currentStep = objectOptional.get();
-            /*鑾峰彇鍒板綋鍓嶆楠ょ殑寮�濮嬪拰缁撴潫鏃堕棿*/
-            Date currentStepStartDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartTime);
-            Date currentStepStopDate = DateUtils.addMinutes(currentStepStartDate, currentStep.getRecordingTime());
-            /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/
-            if (!DateUtils.TimeCompare(currentStepStartDate, currentStepStopDate)) {
-                return true;
-            } else {
-                return false;
-            }
-        } else {
-            return false;
-        }
-
-    }
-
-    //姝ラ鍒囨崲
-    private String changeNextStep(ArdVideoInspectTask ardVideoInspectTask) {
-        String currentStepId = ardVideoInspectTask.getCurrentStepId();
-        Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-                .filter(obj -> obj.getId().equals(currentStepId))
-                .findFirst();
-        if (objectOptional.isPresent()) {
-            ArdVideoInspectTaskStep step = objectOptional.get();
-            Integer currentStepOrderNumber = step.getOrderNumber();
-            /*鍒ゆ柇褰撳墠姝ラ搴忓彿鏄惁灏忎簬姝ラ鎬绘暟*/
-            if (currentStepOrderNumber < ardVideoInspectTask.getArdVideoInspectTaskStepList().size()) {
-                /*灏忎簬鍒欐墽琛屼笅涓�姝ラ*/
-                currentStepOrderNumber++;
-            } else {
-                /*鍚﹀垯浠�1寮�濮嬫墽琛�*/
-                currentStepOrderNumber = 1;
-            }
-            Integer nextStepOrderNumber = currentStepOrderNumber;
-            /*鏇存柊褰撳墠浠诲姟鍒囨崲鏂版楠�*/
-            ArdVideoInspectTask avit = new ArdVideoInspectTask();
-            avit.setId(ardVideoInspectTask.getId());
-            String nextStepId = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-                    .filter(obj -> obj.getOrderNumber() == nextStepOrderNumber)
-                    .map(ArdVideoInspectTaskStep::getId)
-                    .findFirst()
-                    .orElse(null);
-            avit.setCurrentStepId(nextStepId);
-            ardVideoInspectTaskService.updateArdVideoInspectTaskNoUpdater(avit);
-            log.info("姝ラ锛�" + currentStepId + "鍒囨崲涓�"+nextStepId);
-            return nextStepId;
-        }
-        return "";
+      ardVideoInspectTaskService.autoTaskRun();
     }
 }

--
Gitblit v1.9.3