From 58b691e9cfe1e5e1ae8a62c8b66f1995eaad0e9e Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 27 二月 2025 15:07:32 +0800
Subject: [PATCH] 导出osd问题 以及缺少小时改分钟

---
 ycl-server/src/main/java/com/ycl/api/YS/YSApi.java                              |   45 +++++++++++++++++++++++++++++----------------
 ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java |    4 ++--
 2 files changed, 31 insertions(+), 18 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/api/YS/YSApi.java b/ycl-server/src/main/java/com/ycl/api/YS/YSApi.java
index 16b1386..03fc9d6 100644
--- a/ycl-server/src/main/java/com/ycl/api/YS/YSApi.java
+++ b/ycl-server/src/main/java/com/ycl/api/YS/YSApi.java
@@ -6,6 +6,7 @@
 import com.ycl.api.YS.lib.NetDEVSDKLib;
 import com.ycl.api.YS.login.Login;
 import com.ycl.platform.domain.result.OSDResult;
+import com.ycl.utils.StringUtils;
 import enumeration.DeviceType;
 import lombok.extern.slf4j.Slf4j;
 
@@ -91,25 +92,37 @@
                 return null;
             }
             stOSDInfo.read();
-            //鐪佷唤
+
+
             String name = new String(stOSDInfo.stNameOSD.szOSDText, StandardCharsets.UTF_8).trim();
-            osdResult.setOSD1(name);
-//            log.info("name"+name);
-            int num = 0;
-            for (NetDEVSDKLib.NETDEV_OSD_TEXT_OVERLAY_S osd : stOSDInfo.astTextOverlay) {
-                String text = new String(osd.szOSDText, StandardCharsets.UTF_8).trim();
-//                log.info("num:"+num+",texr:"+text);
-                if (num == 0) {
-                    osdResult.setOSD2(text);
-                } else if (num == 1) {
-                    osdResult.setOSD3(text);
-                } else if (num == 2) {
-                    osdResult.setName(text);
-                } else if (num == 3) {
-                    osdResult.setOSD4(text);
+            if (StringUtils.isNotEmpty(name) && name.contains("|")){
+                String[] osdNames = name.split("\\|");
+                osdResult.setOSD1(osdNames[0]);
+                osdResult.setOSD2(osdNames[1]);
+                osdResult.setOSD3(osdNames[2]);
+                osdResult.setName(osdNames[3]);
+            }else {
+                //鐪佷唤
+                osdResult.setOSD1(name);
+//                log.info("YSname"+name);
+                int num = 0;
+                for (NetDEVSDKLib.NETDEV_OSD_TEXT_OVERLAY_S osd : stOSDInfo.astTextOverlay) {
+                    String text = new String(osd.szOSDText, StandardCharsets.UTF_8).trim();
+//                    log.info("YSnum:"+num+",YStexr:"+text);
+                    if (num == 0) {
+                        osdResult.setOSD2(text);
+                    } else if (num == 1) {
+                        osdResult.setOSD3(text);
+                    } else if (num == 2) {
+                        osdResult.setName(text);
+                    } else if (num == 3) {
+                        osdResult.setOSD4(text);
+                    }
+                    num++;
                 }
-                num++;
             }
+
+
             //鐧诲嚭
             YSInit.netdevsdk.NETDEV_Logout(lpUserID);
             osdResult.setDeviceBrand(DeviceType.YS.getType());
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
index 55976c3..41b58a6 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
@@ -1419,12 +1419,12 @@
     private void setLoseDaily(VideoDailyExp videoDailyExp, List<RecordMetaDSumResult> recordResults) throws NoSuchFieldException, IllegalAccessException {
         //涓�涓澶囧綋鏈堝湪绾挎儏鍐�
         for (RecordMetaDSumResult recordResult : recordResults) {
-            int dayOfMonth = DateUtils.getDayOfMonth(recordResult.getStatTime());
+            int dayOfMonth = DateUtils.getDayOfMonth(recordResult.getStatTime());  //鑾峰彇鍚姩鏃ユ湡鏄綋鏈堢鍑犲ぉ
             //鍙嶅皠璧嬪�硷紝瀛楁缁熶竴瀹氫箟涓篸ay+1锛�2锛�3...
             Field field = videoDailyExp.getClass().getDeclaredField("day" + dayOfMonth);
             field.setAccessible(true);
             //闃叉杞崲涓虹瀛﹁鏁版硶
-            BigDecimal bigDecimal = BigDecimal.valueOf(recordResult.getMissDuration() == null ? 0 : recordResult.getMissDuration());
+            BigDecimal bigDecimal = BigDecimal.valueOf(recordResult.getMissDuration() == null ? 0 : (recordResult.getMissDuration()) * 60);
             field.set(videoDailyExp, bigDecimal.toString());
         }
     }

--
Gitblit v1.8.0