From cfa36565f54f4274e415af9899db2aedadbd7b76 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期三, 06 九月 2023 16:10:43 +0800
Subject: [PATCH] 设备健康详情

---
 ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 48 insertions(+), 4 deletions(-)

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 a051843..d03fb83 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
@@ -385,8 +385,8 @@
         NET_DVR_FOCUSMODE_CFG focusmodeCfg = new NET_DVR_FOCUSMODE_CFG();
         Pointer point = focusmodeCfg.getPointer();
         IntByReference ibrBytesReturned = new IntByReference(0);
-        focusmodeCfg.byFocusMode=1;
-        focusmodeCfg.byAutoFocusMode=0;
+        focusmodeCfg.byFocusMode = 1;
+        focusmodeCfg.byAutoFocusMode = 0;
         focusmodeCfg.write();
         boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, focusmodeCfg.size(), ibrBytesReturned);
         if (bool) {
@@ -975,6 +975,7 @@
         log.debug("璁剧疆鑱氱劍妯″紡鎴愬姛");
         return bool;
     }
+
     /**
      * @鎻忚堪 鑾峰彇鑱氱劍妯″紡
      * @鍙傛暟 [userId, channelNum]
@@ -1343,7 +1344,7 @@
             log.debug("褰曞儚鍋滄");
             //瀛樺叆minio
             String BucketName = cmd.getRecordBucketName();
-            String ObjectName = cmd.getRecordObjectName()+".mp4";
+            String ObjectName = cmd.getRecordObjectName() + ".mp4";
             FileInputStream stream = new FileInputStream(path);
             boolean b = MinioUtil.uploadObject(BucketName, ObjectName, stream, stream.available(), "video/MP4");
             if (b) {
@@ -1409,7 +1410,7 @@
                 // 鑾峰彇閫氶亾鍙�
                 for (int iChannum = 0; iChannum < chanNum; iChannum++) {
                     ArdChannel ardChannel = new ArdChannel();
-                    int channum = iChannum + startDChan+1;
+                    int channum = iChannum + startDChan + 1;
                     HCNetSDK.NET_DVR_PICCFG_V40 strPicCfg = new HCNetSDK.NET_DVR_PICCFG_V40();
                     strPicCfg.dwSize = strPicCfg.size();
                     strPicCfg.write();
@@ -1433,4 +1434,47 @@
         }
         return channelList;
     }
+
+    /**
+     * @鎻忚堪 鑾峰彇GIS淇℃伅鏁版嵁
+     * @鍙傛暟 [userId, channelNum]
+     * @杩斿洖鍊� boolean
+     * @鍒涘缓浜� 鍒樿嫃涔�
+     * @鍒涘缓鏃堕棿 2023/1/17 16:36
+     * @淇敼浜哄拰鍏跺畠淇℃伅 0-瑙i攣 1-閿佸畾
+     */
+    @Override
+    public Map<String, Object> getGisInfo(CameraCmd cmd) {
+        String cameraId = cmd.getCameraId();
+        Integer channelNum = cmd.getChannelNum();
+        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
+            return new HashMap<>();
+        }
+        // 鑾峰彇鍙傛暟
+        Integer userId = GlobalVariable.loginMap.get(cameraId);
+        HCNetSDK.NET_DVR_STD_CONFIG struStdCfg = new HCNetSDK.NET_DVR_STD_CONFIG();
+        HCNetSDK.NET_DVR_GIS_INFO struGisInfo = new HCNetSDK.NET_DVR_GIS_INFO();
+        struStdCfg.read();
+        IntByReference lchannel = new IntByReference(channelNum);
+        struStdCfg.lpCondBuffer = lchannel.getPointer();
+        struStdCfg.dwCondSize = 4;
+        struStdCfg.lpOutBuffer = struGisInfo.getPointer();
+        struStdCfg.dwOutSize = struGisInfo.size();
+        struStdCfg.write();//璁剧疆鍓嶄箣鍓嶈write()
+        boolean bool = hCNetSDK.NET_DVR_GetSTDConfig(userId, NET_DVR_GET_GISINFO, struStdCfg);
+        if (!bool) {
+            int code = hCNetSDK.NET_DVR_GetLastError();
+            log.error("鑾峰彇GIS淇℃伅鏁版嵁澶辫触,璇风◢鍚庨噸璇�" + code);
+            return new HashMap<>();
+        } else {
+            struGisInfo.read();
+            Map<String, Object> map = new HashMap<>();
+            map.put("p", struGisInfo.struPtzPos.fPanPos);
+            map.put("t", struGisInfo.struPtzPos.fTiltPos<0?struGisInfo.struPtzPos.fTiltPos+360:struGisInfo.struPtzPos.fTiltPos);
+            map.put("z", struGisInfo.struPtzPos.fZoomPos);
+            map.put("fHorFieldAngle", struGisInfo.fHorizontalValue);// 姘村钩瑙嗗満瑙�
+            map.put("fVerFieldAngle", struGisInfo.fVerticalValue);// 鍨傜洿瑙嗗満瑙�
+            return map;
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3