From f069ce1cc814e57c36b3c8d48d10af215350081b Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期三, 14 六月 2023 09:40:16 +0800
Subject: [PATCH] 修改盗电报警数据从mqtt接收 修改管线泄漏sql错误

---
 ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java |   86 ++++++++++++++++++++++++++----------------
 1 files changed, 53 insertions(+), 33 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 4116465..ba0dfcf 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.text.SimpleDateFormat;
 import java.util.*;
+
 import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
 import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
 import com.ruoyi.common.utils.DateUtils;
@@ -49,6 +50,8 @@
     private ArdCamerasMapper ardCamerasMapper;
     @Resource
     private IHikClientService hikClientService;
+    @Resource
+    private ArdCamerasMapper camerasMapper;
 
     @PostConstruct
     public void initTask() {
@@ -60,7 +63,7 @@
             }
             ardVideoInspectTask.setCurrentStepId("");
             ardVideoInspectTask.setCurrentStepStartTime("");
-            ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
+            ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(ardVideoInspectTask);
         }
     }
 
@@ -171,9 +174,16 @@
      */
     public void insertArdVideoInspectTaskStep(ArdVideoInspectTask ardVideoInspectTask) {
         List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTask.getArdVideoInspectTaskStepList();
-        String id = ardVideoInspectTask.getId();
+        //鑾峰彇鐩告満
+        ArdCameras camera = camerasMapper.selectArdCamerasById(ardVideoInspectTask.getCameraId());
+        Collections.sort(ardVideoInspectTaskStepList,new ArdVideoInspectTaskStepComparator(this.ardAlarmpointsWellMapper,camera.getLongitude(),camera.getLatitude()));
+        String taskId = ardVideoInspectTask.getId();
+        for (int i = 0; i < ardVideoInspectTaskStepList.size(); i++) {
+            ArdVideoInspectTaskStep step = ardVideoInspectTaskStepList.get(i);
+            step.setTaskId(taskId);
+            step.setOrderNumber(new Integer(i+1));
+        }
         if (StringUtils.isNotNull(ardVideoInspectTaskStepList)) {
-            List<ArdVideoInspectTaskStep> list = new ArrayList<ArdVideoInspectTaskStep>();
             for (ArdVideoInspectTaskStep ardVideoInspectTaskStep : ardVideoInspectTaskStepList) {
                 if (ardVideoInspectTaskStep.getId() == null) {
                     //鏂扮殑姝ラ,娣诲姞
@@ -193,6 +203,9 @@
     public void manualTaskRun(String TaskId) {
         try {
             ArdVideoInspectTask videoInspectTask = ardVideoInspectTaskMapper.selectArdVideoInspectTaskById(TaskId);
+            if (!videoInspectTask.getMenualSwitch().equals("寮�")) {
+                return;
+            }
             if (videoInspectTask.getArdVideoInspectTaskStepList().size() == 0) {
                 return;
             }
@@ -304,6 +317,7 @@
                         continue;
                     }
                     videoInspectTask.setArdVideoInspectTaskStepList(ardVideoInspectTaskStepList);
+
                     String currentStepId = videoInspectTask.getCurrentStepId();
                     String currentStepStartTime = videoInspectTask.getCurrentStepStartTime();
                     if (StringUtils.isNull(currentStepId) || StringUtils.isEmpty(currentStepId)) {
@@ -329,29 +343,30 @@
                         }
                     }
                 } 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(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.isNotEmpty(videoInspectTask.getCurrentStepId())) {
+                        videoInspectTask.setCurrentStepId("");
+                        ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(videoInspectTask);
                     }
-                    if (StringUtils.isEmpty(videoInspectTask.getCurrentStepId()) || StringUtils.isEmpty(videoInspectTask.getCurrentStepStartTime())) {
-                        continue;
+                    if (StringUtils.isNotEmpty(videoInspectTask.getCurrentStepStartTime())) {
+                        videoInspectTask.setCurrentStepId("");
+                        ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(videoInspectTask);
                     }
-                    /*杩囨湡鐨勪换鍔℃竻绌哄綋鍓嶆楠や俊鎭�*/
-                    videoInspectTask.setCurrentStepId("");
-                    videoInspectTask.setCurrentStepStartTime("");
-                    ardVideoInspectTaskMapper.updateArdVideoInspectTask(videoInspectTask);
                 }
             }
         } catch (Exception ex) {
@@ -425,6 +440,10 @@
                     .findFirst();
             if (objectOptional.isPresent()) {
                 ArdVideoInspectTaskStep step = objectOptional.get();
+                /*鏇存柊浠诲姟褰撳墠姝ラid鍜屾楠ゅ惎鍔ㄦ椂闂�*/
+                ardVideoInspectTask.setCurrentStepId(step.getId());
+                ardVideoInspectTask.setCurrentStepStartTime(DateUtils.getTime());
+                ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(ardVideoInspectTask);
                 String wellId = step.getWellId();
                 if (!StringUtils.isNull(wellId)) {
                     /*鑾峰彇浜曞潗鏍�*/
@@ -449,24 +468,19 @@
                     cmd.setExpired(step.getRecordingTime());
                     boolean setTargetPosition = hikClientService.setTargetPosition(cmd);
                     if (setTargetPosition) {
-                        if(!Global.task_record.contains(ardVideoInspectTask.getId()))
-                        {
+                        if (!Global.task_record.contains(ardVideoInspectTask.getId())) {
                             /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/
                             cmd.setEnable(true);//鍚姩褰曞儚
                             hikClientService.recordToMinio(cmd);
                             Global.task_record.add(ardVideoInspectTask.getId());
                         }
-                        /*鏇存柊浠诲姟褰撳墠姝ラid鍜屾楠ゅ惎鍔ㄦ椂闂�*/
-                        ardVideoInspectTask.setCurrentStepId(step.getId());
-                        ardVideoInspectTask.setCurrentStepStartTime(DateUtils.getTime());
-                        ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
                     } else {
                         cmd.setEnable(false);//鍋滄褰曞儚
                         cmd.setUploadMinio(true);
                         hikClientService.recordToMinio(cmd);
                         /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/
                         ardVideoInspectTask.setCurrentStepStartTime("");
-                        ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
+                        ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(ardVideoInspectTask);
                     }
                 }
             }
@@ -474,6 +488,7 @@
             log.error("宸℃寮�濮嬪紓甯革細" + ex.getMessage());
         }
     }
+
     //姝ラ鍋滄
     private void stopRunStep(ArdVideoInspectTask ardVideoInspectTask) {
         try {
@@ -508,6 +523,11 @@
                 /*鎻掑叆宸℃璁板綍*/
                 ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord();
                 ardVideoInspectRecord.setStepId(step.getId());
+                ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(step.getWellId());
+                if(StringUtils.isNotNull(ardAlarmpointsWell))
+                {
+                    ardVideoInspectRecord.setWellName(ardAlarmpointsWell.getWellId());
+                }
                 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));
@@ -580,7 +600,7 @@
                         .findFirst()
                         .orElse(null);
                 avit.setCurrentStepId(nextStepId);
-                ardVideoInspectTaskMapper.updateArdVideoInspectTask(avit);
+                ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(avit);
                 log.info("姝ラ锛�" + currentStepId + "鍒囨崲涓�" + nextStepId);
                 return nextStepId;
             }
@@ -622,4 +642,4 @@
 
         return timeList;
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3