From 81dd45819944baa8032d942e2e28c5c859c0cc81 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 15 六月 2023 10:37:46 +0800
Subject: [PATCH] 优化巡检

---
 ard-work/src/main/java/com/ruoyi/constant/sdkPriority.java                                  |    1 
 ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java |    4 +
 ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java                        |    2 
 ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java       |    6 +-
 ruoyi-admin/src/main/resources/logback.xml                                                  |    2 
 ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java   |   66 ++++++++++++++++++++++++++++----
 ruoyi-generator/src/main/resources/generator.yml                                            |    2 
 7 files changed, 67 insertions(+), 16 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
index ffdf968..0405f7a 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
@@ -194,12 +194,14 @@
                         String minDistanceCameraId = ArdTool.getKeyByMinValue(distanceMap);
                         //寮曞鍏夌數
                         CameraCmd cmd = new CameraCmd();
-                        cmd.setOperator("sys_tube_leak");
                         cmd.setCameraId(minDistanceCameraId);
                         cmd.setChannelNum(1);
                         cmd.setTargetPosition(new double[]{ardAlarmTube.getLongitude(), ardAlarmTube.getLatitude()});
+                        cmd.setOperator("sys_tube_leak");
+                        cmd.setExpired(30);
                         boolean guideRes = hikClientService.setTargetPosition(cmd);
                         if(guideRes) {
+                            hikClientService.controlLock(cmd);
                             cmd.setEnable(true);
                             cmd.setRecordBucketName("record");
                             String time = new SimpleDateFormat("yyyyMMdd").format(new Date());
diff --git a/ard-work/src/main/java/com/ruoyi/constant/sdkPriority.java b/ard-work/src/main/java/com/ruoyi/constant/sdkPriority.java
index dec4799..62a9617 100644
--- a/ard-work/src/main/java/com/ruoyi/constant/sdkPriority.java
+++ b/ard-work/src/main/java/com/ruoyi/constant/sdkPriority.java
@@ -15,5 +15,6 @@
     static {
         priorityMap.put("sys_radar_fire",999);
         priorityMap.put("sys_tube_leak",998);
+        priorityMap.put("sys_patrol_inspect",1);
     }
 }
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java b/ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java
index 227c222..7f8f0ec 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java
@@ -33,7 +33,7 @@
 
     /*褰撳墠鎿嶄綔鑰�*/
     String operator;
-    /*杩囨湡闂撮殧锛堝垎閽燂級*/
+    /*杩囨湡闂撮殧锛堢锛�*/
     Integer expired;
 
     /*褰曞儚瀛樺偍姹犲悕绉�*/
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
index cfbcf96..46511ca 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -713,7 +713,7 @@
             ardCameras.setOperatorId(operator);
             //璁剧疆褰撳墠杩囨湡鏃堕棿
             Date now = new Date();
-            now.setTime(now.getTime() + expired * 1000 * 60);
+            now.setTime(now.getTime() + expired * 1000);
             ardCameras.setOperatorExpired(now);
             ardCamerasMapper.updateArdCameras(ardCameras);
         } else {
@@ -722,7 +722,7 @@
             if (currentOperator.equals(operator)) {
                 //璁剧疆褰撳墠杩囨湡鏃堕棿
                 Date now = new Date();
-                now.setTime(now.getTime() + expired * 1000 * 60);
+                now.setTime(now.getTime() + expired * 1000);
                 ardCameras.setOperatorExpired(now);
                 ardCamerasMapper.updateArdCameras(ardCameras);
             } else {
@@ -749,7 +749,7 @@
                 //鍒ゆ柇浼樺厛绾�
                 if (operatorLevel > currentLevel) {
                     Date now = new Date();
-                    now.setTime(now.getTime() + expired * 60 * 1000);
+                    now.setTime(now.getTime() + expired * 60);
                     ardCameras.setOperatorExpired(now);//璁剧疆褰撳墠杩囨湡鏃堕棿
                     ardCameras.setOperatorId(operator);//璁剧疆褰撳墠鐢ㄦ埛
                     ardCamerasMapper.updateArdCameras(ardCameras);
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 73f0659..df4af33 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
@@ -34,7 +34,7 @@
  * @date 2023-05-30
  */
 @Service
-@Slf4j
+@Slf4j(topic = "PatrolInspectionTask")
 public class ArdVideoInspectTaskServiceImpl implements IArdVideoInspectTaskService {
     @Resource
     private ArdVideoInspectTaskMapper ardVideoInspectTaskMapper;
@@ -229,6 +229,9 @@
                         //寮�濮嬩笅涓�姝ラ
                         videoInspectTask.setCurrentStepId(nextStepId);
                         startRunStep(videoInspectTask);
+                    }else{
+                        //鏈繃鏈熷皾璇曞紩瀵硷紝寮曞澶辫触娓呯┖褰撳墠姝ラ寮�濮嬫椂闂达紝鏍囪涓柇
+                        tryGuide(videoInspectTask);
                     }
                 }
             }
@@ -337,7 +340,7 @@
                                 //寮�濮嬩笅涓�姝ラ
                                 videoInspectTask.setCurrentStepId(nextStepId);
                                 startRunStep(videoInspectTask);
-                            }
+                            }else{tryGuide(videoInspectTask);}
                         }
                     }
                 } else {
@@ -414,7 +417,7 @@
                 log.info("褰撳墠寮�濮嬪贰妫�姝ラid涓虹┖");
                 return;
             }
-            log.info("姝ラ锛�" + currentStepId + "寮�濮�");
+            log.debug("宸℃姝ラ锛�" + currentStepId + "灏濊瘯寮�濮�");
             String cameraId = ardVideoInspectTask.getCameraId();
             Integer channel = ardVideoInspectTask.getChannel();
             Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
@@ -446,16 +449,13 @@
                     cmd.setChannelNum(channel);
                     cmd.setTargetPosition(targetPositon);
                     cmd.setOperator("sys_patrol_inspect");
-                    cmd.setExpired(step.getRecordingTime());
+                    cmd.setExpired(step.getRecordingTime()*60);
                     boolean setTargetPosition = hikClientService.setTargetPosition(cmd);
                     if (setTargetPosition) {
                         /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/
                         cmd.setEnable(true);//鍚姩褰曞儚
                         hikClientService.recordToMinio(cmd);
                     } else {
-                        cmd.setEnable(false);//鍋滄褰曞儚
-                        cmd.setUploadMinio(true);
-                        hikClientService.recordToMinio(cmd);
                         /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/
                         ardVideoInspectTask.setCurrentStepStartTime("");
                         ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(ardVideoInspectTask);
@@ -466,12 +466,60 @@
             log.error("宸℃寮�濮嬪紓甯革細" + ex.getMessage());
         }
     }
-
+    //灏濊瘯鎺у埗寮曞
+    private void tryGuide(ArdVideoInspectTask ardVideoInspectTask) {
+        try {
+            String currentStepId = ardVideoInspectTask.getCurrentStepId();
+            if (StringUtils.isNull(currentStepId)) {
+                log.info("褰撳墠寮�濮嬪贰妫�姝ラid涓虹┖");
+                return;
+            }
+            log.debug("宸℃姝e父锛屽皾璇曞紩瀵硷細" + 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 = 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);
+                    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.setTargetPosition(targetPositon);
+                    cmd.setOperator("sys_patrol_inspect");
+                    cmd.setExpired(step.getRecordingTime()*60);
+                    boolean setTargetPosition = hikClientService.setTargetPosition(cmd);
+                    if (!setTargetPosition) {
+                        /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/
+                        ardVideoInspectTask.setCurrentStepStartTime("");
+                        ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(ardVideoInspectTask);
+                    }
+                }
+            }
+        } catch (Exception ex) {
+            log.error("宸℃灏濊瘯寮曞寮傚父锛�" + ex.getMessage());
+        }
+    }
     //姝ラ鍋滄
     private void stopRunStep(ArdVideoInspectTask ardVideoInspectTask) {
         try {
             String currentStepId = ardVideoInspectTask.getCurrentStepId();
-            log.info("姝ラ锛�" + currentStepId + "鍋滄");
+            log.debug("宸℃姝ラ锛�" + currentStepId + "鍋滄");
             if (StringUtils.isNull(currentStepId)) {
                 log.info("褰撳墠鍋滄宸℃姝ラid涓虹┖");
                 return;
diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml
index 86ca1cd..7018a83 100644
--- a/ruoyi-admin/src/main/resources/logback.xml
+++ b/ruoyi-admin/src/main/resources/logback.xml
@@ -200,7 +200,7 @@
         <appender-ref ref="websocket"/>
     </logger>
     <!--鍏夌數宸℃鏃ュ織鎵撳嵃绛夌骇-->
-    <logger name="PatrolInspectionTask" level="INFO">
+    <logger name="PatrolInspectionTask" level="DEBUG">
         <appender-ref ref="PatrolInspectionTask"/>
     </logger>
     <!--mqtt鏃ュ織鎵撳嵃绛夌骇-->
diff --git a/ruoyi-generator/src/main/resources/generator.yml b/ruoyi-generator/src/main/resources/generator.yml
index 5bd3dd6..acf8ce6 100644
--- a/ruoyi-generator/src/main/resources/generator.yml
+++ b/ruoyi-generator/src/main/resources/generator.yml
@@ -1,7 +1,7 @@
 # 浠g爜鐢熸垚
 gen: 
   # 浣滆��
-  author: ruoyi
+  author: ard
   # 榛樿鐢熸垚鍖呰矾寰� system 闇�鏀规垚鑷繁鐨勬ā鍧楀悕绉� 濡� system monitor tool
   packageName: com.ruoyi.system
   # 鑷姩鍘婚櫎琛ㄥ墠缂�锛岄粯璁ゆ槸false

--
Gitblit v1.9.3