From 64efb660b2c119c00432434c0f651f8996483f18 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 21 二月 2025 15:51:13 +0800 Subject: [PATCH] OSD大华数据格式+数据中心重点标签统计数 --- ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java | 53 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 36 insertions(+), 17 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java index d238b64..b52a9a4 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java @@ -3,7 +3,9 @@ import com.ycl.platform.controller.YwThresholdController; import com.ycl.platform.domain.entity.WorkOrder; import com.ycl.platform.domain.entity.YwThreshold; +import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; import com.ycl.platform.domain.result.UY.*; +import com.ycl.platform.mapper.WorkOrderMapper; import com.ycl.platform.service.IYwThresholdService; import com.ycl.platform.service.UYErrorTypeCheckService; import com.ycl.platform.service.WorkOrderService; @@ -17,6 +19,7 @@ import enumeration.general.WorkOrderStatusEnum; import lombok.Data; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; @@ -37,6 +40,7 @@ private final WorkOrderService workOrderService; private final IYwThresholdService ywThresholdService; + private final WorkOrderMapper workOrderMapper; /** * 鍥惧儚妫�娴嬬敓鎴愬伐鍗� @@ -52,27 +56,27 @@ WorkOrder workOrder = new WorkOrder(); // 淇″彿缂哄け if (-1 == item.getSigna1()) { - this.genWorkOrder(workOrder, ErrorType.SIGNAL_LOSS, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // 鐢婚潰鍋忚壊 if (-1 == item.getColor()) { - this.genWorkOrder(workOrder, ErrorType.SCREEN_COLOR_DEVIATION, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // 闆姳骞叉壈 if (-1 == item.getSnow()) { - this.genWorkOrder(workOrder, ErrorType.SNOW_STORM, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // 鏉$汗骞叉壈 if (-1 == item.getStripe()) { - this.genWorkOrder(workOrder, ErrorType.STRIPE_INTERFERENCE, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // 鐢婚潰閬尅 if (-1 == item.getShade()) { - this.genWorkOrder(workOrder, ErrorType.SCREEN_OCCLUSION, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // 娓呮櫚搴﹀紓甯� if (-1 == item.getBlur()) { - this.genWorkOrder(workOrder, ErrorType.ABNORMAL_CLARITY, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // // 浜害寮傚父 // if (-1 == item.getLight()) { @@ -117,16 +121,31 @@ @Override public void videoOnlineCheck(List<VideoOnlineResult> dataList) { - List<WorkOrder> workOrderList = dataList.stream().map(item -> { - WorkOrder workOrder = new WorkOrder(); - if (ApiConstants.UY_OnlineSite_Offline.equals(item.getStatus())) { - this.genWorkOrder(workOrder, ErrorType.DEVICE_OFFLINE, item.getDeviceId()); - } -// else if (0 == item.getStatus()) { -// this.genWorkOrder(workOrder, ErrorType.UNKNOWN, item.getDeviceId()); -// } - return workOrder; - }).collect(Collectors.toList()); + //鏌ヨ鏁版嵁搴撳凡瀛樺湪鐨勭绾垮伐鍗曡幏鍙杋p闆嗗悎锛屽墧闄� + List<String> ips = workOrderMapper.getOfflineWorkOrder(); + List<WorkOrder> workOrderList = dataList.stream() + .filter(item -> CollectionUtils.isEmpty(ips) || !ips.contains(item.getIpAddr())) + .map(item -> { + WorkOrder workOrder = new WorkOrder(); + if (ApiConstants.UY_OnlineSite_Offline.equals(item.getStatus())) { + this.genWorkOrder(workOrder, ErrorType.DEVICE_OFFLINE, item.getDeviceId()); + } + return workOrder; + }).collect(Collectors.toList()); + workOrderService.innerAddWorkOrder(workOrderList); + } + + @Override + public void hkOnlineCheck(List<SnapshotDataMonitorResult> dataList) { + //鏌ヨ鏁版嵁搴撳凡瀛樺湪鐨勭绾垮伐鍗曡幏鍙杋p闆嗗悎锛屽墧闄� + List<String> ips = workOrderMapper.getOfflineWorkOrder(); + List<WorkOrder> workOrderList = dataList.stream() + .filter(item -> CollectionUtils.isEmpty(ips) || !ips.contains(item.getIp())) + .map(item -> { + WorkOrder workOrder = new WorkOrder(); + this.genWorkOrder(workOrder, ErrorType.DEVICE_OFFLINE, item.getExternalIndexCode()); + return workOrder; + }).collect(Collectors.toList()); workOrderService.innerAddWorkOrder(workOrderList); } @@ -164,7 +183,7 @@ // } long checkTime = item.getCheckTime().getTime(); long osdTime = item.getSetTime().getTime(); - Long timeDiff = (checkTime - osdTime) / 1000; + Long timeDiff = Math.abs((checkTime - osdTime) / 1000); ywThresholdService.check(YwThreadConstants.Video_DiffTime, timeDiff, item.getDeviceNo(), ywThresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.CLOCK_SKEW.getValue()); return workOrder; }).collect(Collectors.toList()); -- Gitblit v1.8.0