From c6ef8fb06f8f75ece7e4d6669af01bebb051d217 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 03 六月 2023 17:20:56 +0800
Subject: [PATCH] 优化巡检

---
 ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java |   53 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 36 insertions(+), 17 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 aecf1ad..4116465 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
@@ -5,6 +5,7 @@
 import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
 import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.constant.Global;
 import com.ruoyi.device.camera.domain.ArdCameras;
 import com.ruoyi.device.camera.domain.CameraCmd;
 import com.ruoyi.device.camera.mapper.ArdCamerasMapper;
@@ -13,6 +14,7 @@
 import com.ruoyi.inspect.domain.ArdVideoInspectRecord;
 import com.ruoyi.inspect.mapper.ArdVideoInspectRecordMapper;
 import com.ruoyi.inspect.mapper.ArdVideoInspectTaskStepMapper;
+import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import com.ruoyi.common.utils.StringUtils;
@@ -51,12 +53,14 @@
     @PostConstruct
     public void initTask() {
         List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskMapper.selectArdVideoInspectTaskList(new ArdVideoInspectTask());
-        /*鍚姩鍚庡皢鎵�鏈夋墜鍔ㄤ换鍔$疆涓哄叧闂�*/
         for (ArdVideoInspectTask ardVideoInspectTask : ardVideoInspectTasks) {
+            /*鍚姩鍚庡皢鎵�鏈夋墜鍔ㄤ换鍔$疆涓哄叧闂�,鎵�鏈変换鍔″綋鍓嶆楠や俊鎭竻绌�*/
             if (ardVideoInspectTask.getInspectMode().equals("鎵嬪姩")) {
                 ardVideoInspectTask.setMenualSwitch("鍏�");
-                ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
             }
+            ardVideoInspectTask.setCurrentStepId("");
+            ardVideoInspectTask.setCurrentStepStartTime("");
+            ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
         }
     }
 
@@ -325,6 +329,22 @@
                         }
                     }
                 } else {
+                    if(Global.task_record.contains(videoInspectTask.getId()))
+                    {
+                        /*鍋滄褰曞儚*/
+                        CameraCmd cmd = new CameraCmd();
+                        cmd.setCameraId(videoInspectTask.getCameraId());
+                        cmd.setChannelNum(videoInspectTask.getChannel());
+                        cmd.setOperator("sys_patrol_inspect");
+                        cmd.setEnable(false);//鍋滄褰曞儚
+                        String uuid = UUID.randomUUID().toString().replace("-", "");
+                        String time = new SimpleDateFormat("yyyyMMdd").format(new Date());
+                        String recordName = videoInspectTask.getCameraId() + "/" + time + "/" + uuid + ".mp4";
+                        cmd.setRecordBucketName("record");
+                        cmd.setRecordObjectName(recordName);
+                        cmd.setUploadMinio(true);
+                        hikClientService.recordToMinio(cmd);
+                    }
                     if (StringUtils.isEmpty(videoInspectTask.getCurrentStepId()) || StringUtils.isEmpty(videoInspectTask.getCurrentStepStartTime())) {
                         continue;
                     }
@@ -429,25 +449,24 @@
                     cmd.setExpired(step.getRecordingTime());
                     boolean setTargetPosition = hikClientService.setTargetPosition(cmd);
                     if (setTargetPosition) {
-                        /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/
-                        cmd.setEnable(true);//鍚姩褰曞儚
-                        hikClientService.recordToMinio(cmd);
+                        if(!Global.task_record.contains(ardVideoInspectTask.getId()))
+                        {
+                            /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/
+                            cmd.setEnable(true);//鍚姩褰曞儚
+                            hikClientService.recordToMinio(cmd);
+                            Global.task_record.add(ardVideoInspectTask.getId());
+                        }
                         /*鏇存柊浠诲姟褰撳墠姝ラid鍜屾楠ゅ惎鍔ㄦ椂闂�*/
-                        ArdVideoInspectTask avit = new ArdVideoInspectTask();
-                        avit.setId(ardVideoInspectTask.getId());
-                        avit.setCurrentStepId(step.getId());
-                        avit.setCurrentStepStartTime(DateUtils.getTime());
-                        ardVideoInspectTaskMapper.updateArdVideoInspectTask(avit);
+                        ardVideoInspectTask.setCurrentStepId(step.getId());
+                        ardVideoInspectTask.setCurrentStepStartTime(DateUtils.getTime());
+                        ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
                     } else {
                         cmd.setEnable(false);//鍋滄褰曞儚
                         cmd.setUploadMinio(true);
                         hikClientService.recordToMinio(cmd);
                         /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/
-                        ArdVideoInspectTask avit = new ArdVideoInspectTask();
-                        avit.setId(ardVideoInspectTask.getId());
-                        avit.setCurrentStepId(step.getId());
-                        avit.setCurrentStepStartTime("");
-                        ardVideoInspectTaskMapper.updateArdVideoInspectTask(avit);
+                        ardVideoInspectTask.setCurrentStepStartTime("");
+                        ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
                     }
                 }
             }
@@ -455,7 +474,6 @@
             log.error("宸℃寮�濮嬪紓甯革細" + ex.getMessage());
         }
     }
-
     //姝ラ鍋滄
     private void stopRunStep(ArdVideoInspectTask ardVideoInspectTask) {
         try {
@@ -486,6 +504,7 @@
                 cmd.setRecordObjectName(recordName);
                 cmd.setUploadMinio(true);
                 hikClientService.recordToMinio(cmd);
+                Global.task_record.remove(ardVideoInspectTask.getId());
                 /*鎻掑叆宸℃璁板綍*/
                 ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord();
                 ardVideoInspectRecord.setStepId(step.getId());
@@ -603,4 +622,4 @@
 
         return timeList;
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3