From f059de0b3cfe92ba2980c8ce4c5772637c64e9d2 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期六, 23 十二月 2023 17:03:34 +0800
Subject: [PATCH] 权限

---
 ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java |   72 +++++++++++++++++++++++++++--------
 1 files changed, 55 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 e5ff050..8f45372 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,7 @@
 package com.ruoyi.inspect.service.impl;
 
 import java.util.*;
+
 import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
 import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
 import com.ruoyi.common.utils.DateUtils;
@@ -9,7 +10,6 @@
 import com.ruoyi.device.camera.domain.CameraCmd;
 import com.ruoyi.device.camera.mapper.ArdCamerasMapper;
 import com.ruoyi.device.camera.service.ICameraSdkService;
-import com.ruoyi.utils.sdk.hiksdk.service.IHikClientService;
 import com.ruoyi.inspect.domain.ArdVideoInspectRecord;
 import com.ruoyi.inspect.mapper.ArdVideoInspectRecordMapper;
 import com.ruoyi.inspect.mapper.ArdVideoInspectTaskStepMapper;
@@ -22,6 +22,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;
 
@@ -434,16 +435,15 @@
                 String wellId = step.getWellId();
                 if (!StringUtils.isNull(wellId)) {
                     /*鑾峰彇浜曞潗鏍�*/
-                    ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
+                    ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
                     double[] targetPositon = new double[3];
-                    targetPositon[0] = ardAlarmpointsWell.getLongitude();
-                    targetPositon[1] = ardAlarmpointsWell.getLatitude();
-                    targetPositon[2] = ardAlarmpointsWell.getAltitude();
+                    targetPositon[0] = well.getLongitude();
+                    targetPositon[1] = well.getLatitude();
+                    targetPositon[2] = well.getAltitude();
                     /*鑾峰彇鐩告満鍧愭爣*/
                     ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId);
-                    if(StringUtils.isNull(cameras))
-                    {
-                        log.debug("鎵句笉鍒扮浉鏈�:"+cameraId);
+                    if (StringUtils.isNull(cameras)) {
+                        log.debug("鎵句笉鍒扮浉鏈�:" + cameraId);
                         return;
                     }
                     double[] cameraPositon = new double[3];
@@ -457,7 +457,26 @@
                     cmd.setTargetPosition(targetPositon);
                     cmd.setOperator("sys_patrol_inspect");
                     cmd.setExpired(step.getRecordingTime() * 60);
-                    boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
+                    Map<String, Double> ptzMap = new HashMap<>();
+                    switch (channel) {
+                        case 1:
+                            ptzMap.put("p", well.getGuideP1());
+                            ptzMap.put("t", well.getGuideT1());
+                            ptzMap.put("z", well.getGuideZ1());
+                            break;
+                        case 2:
+                            ptzMap.put("p", well.getGuideP2());
+                            ptzMap.put("t", well.getGuideT2());
+                            ptzMap.put("z", well.getGuideZ2());
+                            break;
+                    }
+                    cmd.setPtzMap(ptzMap);
+                    boolean setTargetPosition;
+                    if (cmd.getPtzMap().get("p") != null) {
+                        setTargetPosition = cameraSdkService.setPtz(cmd);
+                    } else {
+                        setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
+                    }
                     if (setTargetPosition) {
                         /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/
                         cameraSdkService.recordStart(cmd);
@@ -492,16 +511,15 @@
                 String wellId = step.getWellId();
                 if (!StringUtils.isNull(wellId)) {
                     /*鑾峰彇浜曞潗鏍�*/
-                    ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
+                    ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
                     double[] targetPositon = new double[3];
-                    targetPositon[0] = ardAlarmpointsWell.getLongitude();
-                    targetPositon[1] = ardAlarmpointsWell.getLatitude();
-                    targetPositon[2] = ardAlarmpointsWell.getAltitude();
+                    targetPositon[0] = well.getLongitude();
+                    targetPositon[1] = well.getLatitude();
+                    targetPositon[2] = well.getAltitude();
                     /*鑾峰彇鐩告満鍧愭爣*/
                     ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId);
-                    if(StringUtils.isNull(cameras))
-                    {
-                        log.debug("鎵句笉鍒扮浉鏈�:"+cameraId);
+                    if (StringUtils.isNull(cameras)) {
+                        log.debug("鎵句笉鍒扮浉鏈�:" + cameraId);
                         return;
                     }
                     double[] cameraPositon = new double[3];
@@ -515,7 +533,26 @@
                     cmd.setTargetPosition(targetPositon);
                     cmd.setOperator("sys_patrol_inspect");
                     cmd.setExpired(step.getRecordingTime() * 60);
-                    boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
+                    Map<String, Double> ptzMap = new HashMap<>();
+                    switch (channel) {
+                        case 1:
+                            ptzMap.put("p", well.getGuideP1());
+                            ptzMap.put("t", well.getGuideT1());
+                            ptzMap.put("z", well.getGuideZ1());
+                            break;
+                        case 2:
+                            ptzMap.put("p", well.getGuideP2());
+                            ptzMap.put("t", well.getGuideT2());
+                            ptzMap.put("z", well.getGuideZ2());
+                            break;
+                    }
+                    cmd.setPtzMap(ptzMap);
+                    boolean setTargetPosition;
+                    if (cmd.getPtzMap().get("p") != null) {
+                        setTargetPosition = cameraSdkService.setPtz(cmd);
+                    } else {
+                        setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
+                    }
                     if (!setTargetPosition) {
                         /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/
                         ardVideoInspectTask.setCurrentStepStartTime("");
@@ -650,6 +687,7 @@
 
     /**
      * 鑾峰彇鐩告満鐨勭┖闂叉椂娈�
+     *
      * @param cameraId
      * @return
      */

--
Gitblit v1.9.3