From fdcdd41fba7874c045766e3dea54d56d70df73ef Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 12 五月 2025 10:06:50 +0800
Subject: [PATCH] (部级录像可用率,重点录像可用率,录像可用率)计算可用率

---
 ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java |  120 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 79 insertions(+), 41 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java b/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
index d38155f..c169561 100644
--- a/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
+++ b/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
@@ -197,25 +197,16 @@
 //            log.error("CLIENT_GetConfig Failed!" + ToolKits.getErrorCodePrint());
             return null;
         } else {
-
             osdInfo.read();
             NET_GBMODE_CUSTOMTITLE_INFO[] stuCustomTitle = osdInfo.stuCustomTitle;
             for (NET_GBMODE_CUSTOMTITLE_INFO title : stuCustomTitle) {
                 String position = new String(title.szPositon, StandardCharsets.UTF_8).trim();
-                NET_TITLE_OSD_INFO[] stuOSD1 = title.stuOSD;
-                for (NET_TITLE_OSD_INFO osd : stuOSD1) {
-                    String osdStr = null;
-                    osdStr = new String(osd.szText, StandardCharsets.UTF_8).trim();
-                    if (!StringUtils.isEmpty(osdStr)) {
-                        osdResult.setOSD4(osdStr);
-                    }
-                }
                 if ("LeftDown".equals(position)) {
                     NET_TITLE_OSD_INFO[] stuOSD = title.stuOSD;
                     for (NET_TITLE_OSD_INFO osd : stuOSD) {
                         String osdStr = null;
                         osdStr = new String(osd.szText, StandardCharsets.UTF_8).trim();
-//                        log.info("TEXT锛�"+osdStr);
+                        log.error("DHTEXTLeftDown锛�"+osdStr);
                         if (!StringUtils.isEmpty(osdStr)) {
                             osdResult.setOSD4(osdStr);
                         }
@@ -226,16 +217,24 @@
                     for (NET_TITLE_OSD_INFO osd : stuOSD) {
                         String osdStr = null;
                         osdStr = new String(osd.szText, StandardCharsets.UTF_8).trim();
-//                        log.info("TEXT锛�"+osdStr);
+                        log.error("DHTEXTRightDown锛�"+osdStr);
                         if (!StringUtils.isEmpty(osdStr)) {
-                            if (num == 0) {
-                                osdResult.setOSD1(osdStr);
-                            } else if (num == 1) {
-                                osdResult.setOSD2(osdStr);
-                            } else if (num == 2) {
-                                osdResult.setOSD3(osdStr);
-                            } else if (num == 3) {
-                                osdResult.setName(osdStr);
+                            if (osdStr.contains("|")) {
+                                String[] osdNames = osdStr.split("\\|");
+                                osdResult.setOSD1(osdNames[0]);
+                                osdResult.setOSD2(osdNames[1]);
+                                osdResult.setOSD3(osdNames[2]);
+                                osdResult.setName(osdNames[3]);
+                            } else {
+                                if (num == 0) {
+                                    osdResult.setOSD1(osdStr);
+                                } else if (num == 1) {
+                                    osdResult.setOSD2(osdStr);
+                                } else if (num == 2) {
+                                    osdResult.setOSD3(osdStr);
+                                } else if (num == 3) {
+                                    osdResult.setName(osdStr);
+                                }
                             }
                         }
                         num++;
@@ -249,64 +248,103 @@
 
     /**
      * 閽堝鍒╂棫璁惧鑾峰彇OSD鐨勬柟娉�
+     *
      * @param serialNumber
      * @param loginId
      * @return
      */
-    public static OSDResult getOsdOld(String serialNumber, LLong loginId) {
+    public static OSDResult getOsdOld(String moName,String serialNumber, LLong loginId) {
         OSDResult result = new OSDResult();
         NetSDKLib.NET_OSD_CUSTOM_TITLE osdInfo4 = new NetSDKLib.NET_OSD_CUSTOM_TITLE();
         osdInfo4.emOsdBlendType = NetSDKLib.NET_EM_OSD_BLEND_TYPE.NET_EM_OSD_BLEND_TYPE_MAIN;
         NetSDKLib.NET_OSD_CUSTOM_TITLE reserve4 = new NetSDKLib.NET_OSD_CUSTOM_TITLE();
         osdInfo4.write();
         boolean e = false;
-        e = netsdk.CLIENT_GetConfig(loginId, NET_EM_CFG_CUSTOMTITLE, 0, osdInfo4.getPointer(), osdInfo4.size(), 3000, reserve4.getPointer());
-        if (!e) {
-            log.error("e涓虹┖,灏濊瘯鍙︿竴涓�氶亾");
+        if (moName.startsWith("DX_R2")){ //鍒ゆ柇璁惧鏄惁鏄疍X_R2寮�澶�
+            if (serialNumber.charAt(ApiConstants.SerialNumber_Channel) == ApiConstants.SerialNumber_All) {
+            e = netsdk.CLIENT_GetConfig(loginId, NET_EM_CFG_CUSTOMTITLE, 0, osdInfo4.getPointer(), osdInfo4.size(), 3000, reserve4.getPointer());
+                }
+            else if (serialNumber.charAt(ApiConstants.SerialNumber_Channel) == ApiConstants.SerialNumber_Detail) {
             e = netsdk.CLIENT_GetConfig(loginId, NET_EM_CFG_CUSTOMTITLE, 1, osdInfo4.getPointer(), osdInfo4.size(), 3000, reserve4.getPointer());
+            }
+            if (!e) {
+                log.error("e涓虹┖");
+            }
+        }else if(moName.startsWith("DX_RD")){ //鍒ゆ柇璁惧鏄惁鏄疍X_RD寮�澶�
+            if (serialNumber.charAt(ApiConstants.SerialNumber_Channel) == ApiConstants.SerialNumber_All) {
+                e = netsdk.CLIENT_GetConfig(loginId, NET_EM_CFG_CUSTOMTITLE, 0, osdInfo4.getPointer(), osdInfo4.size(), 3000, reserve4.getPointer());
+            }
+            else if (serialNumber.charAt(ApiConstants.SerialNumber_Channel) == ApiConstants.SerialNumber_Detail) {
+                e = netsdk.CLIENT_GetConfig(loginId, NET_EM_CFG_CUSTOMTITLE, 1, osdInfo4.getPointer(), osdInfo4.size(), 3000, reserve4.getPointer());
+            }
+            if (!e) {
+                log.error("e涓虹┖");
+            }
+        }else {
+            e = netsdk.CLIENT_GetConfig(loginId, NET_EM_CFG_CUSTOMTITLE, 0, osdInfo4.getPointer(), osdInfo4.size(), 3000, reserve4.getPointer());
+            if (!e) {
+                log.error("e涓虹┖,灏濊瘯鍙︿竴涓�氶亾");
+                e = netsdk.CLIENT_GetConfig(loginId, NET_EM_CFG_CUSTOMTITLE, 1, osdInfo4.getPointer(), osdInfo4.size(), 3000, reserve4.getPointer());
+            }
         }
-        if(e) {
+        if (e) {
             osdInfo4.read();
             NetSDKLib.NET_CUSTOM_TITLE_INFO[] stuCustomTitle = osdInfo4.stuCustomTitle;
             for (NetSDKLib.NET_CUSTOM_TITLE_INFO net_custom_title_info : stuCustomTitle) {
                 String name = new String(net_custom_title_info.szText, StandardCharsets.UTF_8).trim();
-                log.info("name:{}",name);
-                if(StringUtils.isNotEmpty(name) && name.contains("|")){
+                log.error("DHname:{}", name);
+                if (StringUtils.isNotEmpty(name) && name.contains("|")) {
                     String[] osdNames = name.split("\\|");
                     //鍓旈櫎鎺夌┖涓�
-                    List<String> nonEmptyList = new ArrayList<>();
-                    for (String osd : osdNames) {
-                        if (StringUtils.isNotEmpty(osd)) {
-                            nonEmptyList.add(osd);
+//                    List<String> nonEmptyList = new ArrayList<>();
+//                    for (String osd : osdNames) {
+//                        if (StringUtils.isNotEmpty(osd)) {
+//                            nonEmptyList.add(osd);
+//                        }
+//                    }
+                    for (int i = 0; i < osdNames.length; i++) {
+                        if (i == 0) {
+                            result.setOSD1(osdNames[i]);
+                        }
+                        if (i == 1) {
+                            result.setOSD2(osdNames[i]);
+                        }
+                        if (i == 2) {
+                            result.setOSD3(osdNames[i]);
+                        }
+                        if (i == 3) {
+                            result.setName(osdNames[i]);
                         }
                     }
-                    result.setOSD1(nonEmptyList.get(0));
-                    result.setOSD2(nonEmptyList.get(1));
-                    result.setOSD3(nonEmptyList.get(2));
-                    result.setName(nonEmptyList.get(3));
+
+
                 }
             }
-        }else {
-            log.error(serialNumber,"鍒╂棫osd涓虹┖");
+
+
+        } else {
+            log.error(serialNumber, "鍒╂棫osd涓虹┖");
         }
+
         return result;
     }
 
     /**
      * 鑾峰彇鍗曚釜閰嶇疆
+     *
      * @param hLoginHandle 鐧婚檰鍙ユ焺
-     * @param nChn 閫氶亾鍙凤紝-1 琛ㄧず鍏ㄩ�氶亾
-     * @param strCmd 閰嶇疆鍚嶇О
-     * @param cmdObject 閰嶇疆瀵瑰簲鐨勭粨鏋勪綋瀵硅薄
+     * @param nChn         閫氶亾鍙凤紝-1 琛ㄧず鍏ㄩ�氶亾
+     * @param strCmd       閰嶇疆鍚嶇О
+     * @param cmdObject    閰嶇疆瀵瑰簲鐨勭粨鏋勪綋瀵硅薄
      * @return 鎴愬姛杩斿洖 true
      */
     public static boolean GetDevConfig(LLong hLoginHandle, int nChn, String strCmd, Structure cmdObject) {
         boolean result = false;
         IntByReference error = new IntByReference(0);
-        int nBufferLen = 2*1024*1024;
+        int nBufferLen = 2 * 1024 * 1024;
         byte[] strBuffer = new byte[nBufferLen];
 
-        if(netsdk.CLIENT_GetNewDevConfig( hLoginHandle, strCmd , nChn, strBuffer, nBufferLen,error,3000,null)) {
+        if (netsdk.CLIENT_GetNewDevConfig(hLoginHandle, strCmd, nChn, strBuffer, nBufferLen, error, 3000, null)) {
             cmdObject.write();
             if (netsdk.CLIENT_ParseData(strCmd, strBuffer, cmdObject.getPointer(),
                     cmdObject.size(), null)) {

--
Gitblit v1.8.0