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