From 7cfa09050726578c2cc5114e5bc8a419e6e2e466 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 15 十月 2024 11:03:45 +0800
Subject: [PATCH] 人脸上传数据延迟修复
---
ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java | 92 +++++++++++++++++++++++++++++++++++++--------
1 files changed, 75 insertions(+), 17 deletions(-)
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 fde1d5b..504cd1b 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
@@ -22,6 +22,7 @@
import com.ycl.platform.domain.result.UY.MonitorQualifyResult;
import com.ycl.platform.domain.result.UY.OsdCheckResult;
import com.ycl.platform.domain.result.UY.RecordMetaDSumResult;
+import com.ycl.platform.domain.vo.DynamicColumnVO;
import com.ycl.platform.domain.vo.TMonitorVO;
import com.ycl.platform.domain.vo.WorkOrderVO;
import com.ycl.platform.domain.vo.home.BaseHomeVO;
@@ -30,6 +31,7 @@
import com.ycl.platform.domain.vo.home.HomeVideoVO;
import com.ycl.platform.domain.vo.screen.MonitorRateVO;
import com.ycl.platform.domain.vo.screen.MonitorTotalVO;
+import com.ycl.platform.mapper.DynamicColumnMapper;
import com.ycl.platform.mapper.TMonitorMapper;
import com.ycl.platform.mapper.WorkOrderMapper;
import com.ycl.platform.service.ITMonitorService;
@@ -91,6 +93,8 @@
private WorkOrderMapper workOrderMapper;
@Autowired
private SysDictDataMapper dictDataMapper;
+ @Autowired
+ private DynamicColumnMapper dynamicColumnMapper;
/**
* 鏌ヨ璁惧璧勪骇
@@ -453,7 +457,7 @@
if (!CollectionUtils.isEmpty(onlines)) {
videoExp.setTotal(onlines.size());
videoExp.setOnline(Integer.valueOf(onlines.stream()
- .filter(TMonitorResult::getOnline)
+ .filter(TMonitorResult::getPingOnline)
.count() + ""));
videoExp.setOffline(videoExp.getTotal() - videoExp.getOnline());
}
@@ -510,6 +514,17 @@
exportForm.setCameraFunType(Integer.valueOf(CheckConstants.Rule_Category_Video + ""));
VideoExportForm.convertTags(exportForm);
List<TMonitorResult> tMonitorResults = tMonitorMapper.selectMonitorResult(exportForm);
+ //鑾峰彇鍔ㄦ�佸垪鏁版嵁
+ List<Integer> pointIds = tMonitorResults.stream().map(TMonitorResult::getPointId).collect(Collectors.toList());
+ List<DynamicColumnVO> dynamics = dynamicColumnMapper.getDynamicsByIds("t_yw_point", pointIds);
+ //琛ュ厖鍔ㄦ�佸垪鏁版嵁
+ if(!CollectionUtils.isEmpty(dynamics)) {
+ Map<Integer, List<DynamicColumnVO>> map = dynamics.stream().collect(Collectors.groupingBy(DynamicColumnVO::getRefId));
+ for (TMonitorResult tMonitorResult : tMonitorResults) {
+ Integer pointId = tMonitorResult.getPointId();
+ tMonitorResult.setDynamicColumnList(map.get(pointId));
+ }
+ }
List<String> deviceIds = tMonitorResults.stream().map(BaseResult::getNo).collect(Collectors.toList());
Query query = getQuery(deviceIds, exportForm.getMonth());
//鏈堜唤姣忔棩鍦ㄧ嚎鏁版嵁
@@ -530,12 +545,19 @@
videoDailyExp.setSerialNumber(result.getNo());
videoDailyExp.setDeviceName(result.getName());
videoDailyExp.setArea(areaDeptEnum == null ? "鏈煡" : areaDeptEnum.getName());
- String tag = "" + (result.getProvinceTag() ? "鐪佸巺銆�" : "") + (result.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (result.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (result.getDeptTag() ? "閮ㄧ骇銆�" : "");
- // 鍒犻櫎瀛楃涓叉湯灏剧殑鈥溿�佲��
- if (tag.endsWith("銆�")) {
- tag = tag.substring(0, tag.length() - 1);
+ StringBuilder tag = new StringBuilder("" + (result.getProvinceTag() ? "鐪佸巺銆�" : "") + (result.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (result.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (result.getDeptTag() ? "閮ㄧ骇銆�" : ""));
+ //鍔ㄦ�佸垪澶勭悊鍔犲湪鏍囩閲�
+ if(!CollectionUtils.isEmpty(result.getDynamicColumnList())){
+ List<DynamicColumnVO> dynamicColumnList = result.getDynamicColumnList();
+ for (DynamicColumnVO dynamicColumnVO : dynamicColumnList) {
+ tag.append(dynamicColumnVO.getColumnValue()).append("銆�");
+ }
}
- videoDailyExp.setTag(tag);
+ // 鍒犻櫎瀛楃涓叉湯灏剧殑鈥溿�佲��
+ if (tag.toString().endsWith("銆�")) {
+ tag = new StringBuilder(tag.substring(0, tag.length() - 1));
+ }
+ videoDailyExp.setTag(tag.toString());
setOnlineDaily(videoDailyExp, result, onlines);
videoDailyExps.add(videoDailyExp);
//鍏ㄩ噺琛�
@@ -568,6 +590,17 @@
exportForm.setCameraFunType(Integer.valueOf(CheckConstants.Rule_Category_Video + ""));
VideoExportForm.convertTags(exportForm);
List<TMonitorResult> tMonitorResults = tMonitorMapper.selectMonitorResult(exportForm);
+ //鑾峰彇鍔ㄦ�佸垪鏁版嵁
+ List<Integer> pointIds = tMonitorResults.stream().map(TMonitorResult::getPointId).collect(Collectors.toList());
+ List<DynamicColumnVO> dynamics = dynamicColumnMapper.getDynamicsByIds("t_yw_point", pointIds);
+ //琛ュ厖鍔ㄦ�佸垪鏁版嵁
+ if(!CollectionUtils.isEmpty(dynamics)) {
+ Map<Integer, List<DynamicColumnVO>> map = dynamics.stream().collect(Collectors.groupingBy(DynamicColumnVO::getRefId));
+ for (TMonitorResult tMonitorResult : tMonitorResults) {
+ Integer pointId = tMonitorResult.getPointId();
+ tMonitorResult.setDynamicColumnList(map.get(pointId));
+ }
+ }
List<String> deviceIds = tMonitorResults.stream().map(BaseResult::getNo).collect(Collectors.toList());
Query query = getQuery(deviceIds, exportForm.getMonth());
//鏈堜唤姣忔棩褰曞儚绾挎暟鎹�
@@ -588,12 +621,19 @@
videoDailyExp.setSerialNumber(result.getNo());
videoDailyExp.setDeviceName(result.getName());
videoDailyExp.setArea(areaDeptEnum == null ? "鏈煡" : areaDeptEnum.getName());
- String tag = "" + (result.getProvinceTag() ? "鐪佸巺銆�" : "") + (result.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (result.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (result.getDeptTag() ? "閮ㄧ骇銆�" : "");
- // 鍒犻櫎瀛楃涓叉湯灏剧殑鈥溿�佲��
- if (tag.endsWith("銆�")) {
- tag = tag.substring(0, tag.length() - 1);
+ StringBuilder tag = new StringBuilder("" + (result.getProvinceTag() ? "鐪佸巺銆�" : "") + (result.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (result.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (result.getDeptTag() ? "閮ㄧ骇銆�" : ""));
+ //鍔ㄦ�佸垪澶勭悊鍔犲湪鏍囩閲�
+ if(!CollectionUtils.isEmpty(result.getDynamicColumnList())){
+ List<DynamicColumnVO> dynamicColumnList = result.getDynamicColumnList();
+ for (DynamicColumnVO dynamicColumnVO : dynamicColumnList) {
+ tag.append(dynamicColumnVO.getColumnValue()).append("銆�");
+ }
}
- videoDailyExp.setTag(tag);
+ // 鍒犻櫎瀛楃涓叉湯灏剧殑鈥溿�佲��
+ if (tag.toString().endsWith("銆�")) {
+ tag = new StringBuilder(tag.substring(0, tag.length() - 1));
+ }
+ videoDailyExp.setTag(tag.toString());
setRecordDaily(videoDailyExp, result, records);
//鍖哄幙琛�
videoDailyExps.add(videoDailyExp);
@@ -626,6 +666,17 @@
exportForm.setCameraFunType(Integer.valueOf(CheckConstants.Rule_Category_Video + ""));
VideoExportForm.convertTags(exportForm);
List<TMonitorResult> tMonitorResults = tMonitorMapper.selectMonitorResult(exportForm);
+ //鑾峰彇鍔ㄦ�佸垪鏁版嵁
+ List<Integer> pointIds = tMonitorResults.stream().map(TMonitorResult::getPointId).collect(Collectors.toList());
+ List<DynamicColumnVO> dynamics = dynamicColumnMapper.getDynamicsByIds("t_yw_point", pointIds);
+ //琛ュ厖鍔ㄦ�佸垪鏁版嵁
+ if(!CollectionUtils.isEmpty(dynamics)) {
+ Map<Integer, List<DynamicColumnVO>> map = dynamics.stream().collect(Collectors.groupingBy(DynamicColumnVO::getRefId));
+ for (TMonitorResult tMonitorResult : tMonitorResults) {
+ Integer pointId = tMonitorResult.getPointId();
+ tMonitorResult.setDynamicColumnList(map.get(pointId));
+ }
+ }
List<String> deviceIds = tMonitorResults.stream().map(BaseResult::getNo).collect(Collectors.toList());
Query query = getQuery(deviceIds, exportForm.getMonth());
//鏈堜唤姣忔棩褰曞儚绾挎暟鎹�
@@ -646,12 +697,19 @@
videoDailyExp.setSerialNumber(result.getNo());
videoDailyExp.setDeviceName(result.getName());
videoDailyExp.setArea(areaDeptEnum == null ? "鏈煡" : areaDeptEnum.getName());
- String tag = "" + (result.getProvinceTag() ? "鐪佸巺銆�" : "") + (result.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (result.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (result.getDeptTag() ? "閮ㄧ骇銆�" : "");
- // 鍒犻櫎瀛楃涓叉湯灏剧殑鈥溿�佲��
- if (tag.endsWith("銆�")) {
- tag = tag.substring(0, tag.length() - 1);
+ StringBuilder tag = new StringBuilder("" + (result.getProvinceTag() ? "鐪佸巺銆�" : "") + (result.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (result.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (result.getDeptTag() ? "閮ㄧ骇銆�" : ""));
+ //鍔ㄦ�佸垪澶勭悊鍔犲湪鏍囩閲�
+ if(!CollectionUtils.isEmpty(result.getDynamicColumnList())){
+ List<DynamicColumnVO> dynamicColumnList = result.getDynamicColumnList();
+ for (DynamicColumnVO dynamicColumnVO : dynamicColumnList) {
+ tag.append(dynamicColumnVO.getColumnValue()).append("銆�");
+ }
}
- videoDailyExp.setTag(tag);
+ // 鍒犻櫎瀛楃涓叉湯灏剧殑鈥溿�佲��
+ if (tag.toString().endsWith("銆�")) {
+ tag = new StringBuilder(tag.substring(0, tag.length() - 1));
+ }
+ videoDailyExp.setTag(tag.toString());
setLoseDaily(videoDailyExp, result, records);
videoDailyExps.add(videoDailyExp);
//鍏ㄩ噺琛�
@@ -1050,7 +1108,7 @@
for (TMonitorResult monitorResult : onlineResult) {
int dayOfMonth = monitorResult.getMongoCreateTime().getDayOfMonth();
String online = "";
- online += monitorResult.getOnline() ? "鍦ㄧ嚎" : "绂荤嚎";
+ online += monitorResult.getPingOnline() ? "鍦ㄧ嚎" : "绂荤嚎";
//鍙嶅皠璧嬪�硷紝瀛楁缁熶竴瀹氫箟涓篸ay+1锛�2锛�3...
Field field = videoDailyExp.getClass().getDeclaredField("day" + dayOfMonth);
field.setAccessible(true);
--
Gitblit v1.8.0