From e9af9f5cfeddbe5c0b33a3060b8ea6364c51e744 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 15 十一月 2024 11:37:10 +0800
Subject: [PATCH] 白名单故障类型

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java |   78 ++++++++++++++++++++++++++++----------
 1 files changed, 57 insertions(+), 21 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 d48d425..4ff8e9e 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
@@ -5,11 +5,17 @@
 import com.ycl.platform.service.UYErrorTypeCheckService;
 import com.ycl.platform.service.WorkOrderService;
 import com.ycl.utils.uuid.IdUtils;
+import constant.ApiConstants;
 import enumeration.ErrorType;
 import enumeration.general.WorkOrderStatusEnum;
+import lombok.Data;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -30,36 +36,39 @@
      */
     @Override
     public void imageDetectionCheck(List<ImageDetectionResult> dataList) {
-        List<WorkOrder> workOrderList = dataList.stream().map(item -> {
+        List<WorkOrder> workOrderList = dataList.stream().filter(item -> -1 == item.getSignal()
+                || -1 == item.getImage()
+        )
+        .map(item -> {
             WorkOrder workOrder = new WorkOrder();
             // 淇″彿缂哄け
-            if (0 == item.getSigna1()) {
+            if (-1 == item.getSigna1() ) {
                 this.genWorkOrder(workOrder, ErrorType.SIGNAL_LOSS, item.getDeviceId());
             }
             // 鐢婚潰鍋忚壊
-            if (0 == item.getColor()) {
+            if (-1 == item.getColor()) {
                 this.genWorkOrder(workOrder, ErrorType.SCREEN_COLOR_DEVIATION, item.getDeviceId());
             }
             // 闆姳骞叉壈
-            if (0 == item.getSnow()) {
+            if (-1 == item.getSnow()) {
                 this.genWorkOrder(workOrder, ErrorType.SNOW_STORM, item.getDeviceId());
             }
             // 鏉$汗骞叉壈
-            if (0 == item.getStripe()) {
+            if (-1 == item.getStripe()) {
                 this.genWorkOrder(workOrder, ErrorType.STRIPE_INTERFERENCE, item.getDeviceId());
             }
             // 鐢婚潰閬尅
-            if (0 == item.getShade()) {
+            if (-1 == item.getShade()) {
                 this.genWorkOrder(workOrder, ErrorType.SCREEN_OCCLUSION, item.getDeviceId());
             }
             // 娓呮櫚搴﹀紓甯�
-            if (0 == item.getBlur()) {
+            if (-1 == item.getBlur()) {
                 this.genWorkOrder(workOrder, ErrorType.ABNORMAL_CLARITY, item.getDeviceId());
             }
-            // 浜害寮傚父
-            if (0 == item.getLight()) {
-                this.genWorkOrder(workOrder, ErrorType.ABNORMAL_BRIGHTNESS, item.getDeviceId());
-            }
+//            // 浜害寮傚父
+//            if (-1 == item.getLight()) {
+//                this.genWorkOrder(workOrder, ErrorType.ABNORMAL_BRIGHTNESS, item.getDeviceId());
+//            }
             return workOrder;
         }).collect(Collectors.toList());
         workOrderService.innerAddWorkOrder(workOrderList);
@@ -97,11 +106,12 @@
     public void videoOnlineCheck(List<VideoOnlineResult> dataList) {
         List<WorkOrder> workOrderList = dataList.stream().map(item -> {
             WorkOrder workOrder = new WorkOrder();
-            if (-1 == item.getStatus()) {
+            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());
             }
+//            else if (0 == item.getStatus()) {
+//                this.genWorkOrder(workOrder, ErrorType.UNKNOWN, item.getDeviceId());
+//            }
             return workOrder;
         }).collect(Collectors.toList());
         workOrderService.innerAddWorkOrder(workOrderList);
@@ -109,18 +119,40 @@
 
     @Override
     public void recordMetaDSumCheck(List<RecordMetaDSumResult> dataList) {
+//        List<WorkOrder> workOrderList = dataList.stream().map(item -> {
+//            WorkOrder workOrder = new WorkOrder();
+//            if (0 == item.getRecordStatus()) {
+//                this.genWorkOrder(workOrder, ErrorType.VIDEO_LOSS, item.getDeviceId());
+//            } else if (-1 == item.getRecordStatus()) {
+//                this.genWorkOrder(workOrder, ErrorType.VIDEO_NONE, item.getDeviceId());
+//            }
+//            return workOrder;
+//        }).collect(Collectors.toList());
+//        workOrderService.innerAddWorkOrder(workOrderList);
+    }
+
+
+    @Override
+    public void osdCheck(List<OsdCheckResult> dataList) {
+        Date now = new Date();
         List<WorkOrder> workOrderList = dataList.stream().map(item -> {
             WorkOrder workOrder = new WorkOrder();
-            if (0 == item.getRecordStatus()) {
-                this.genWorkOrder(workOrder, ErrorType.VIDEO_LOSS, item.getDeviceId());
-            } else if (-1 == item.getRecordStatus()) {
-                this.genWorkOrder(workOrder, ErrorType.VIDEO_NONE, item.getDeviceId());
+            // osd鏃堕棿
+            if (!ApiConstants.OSD_Correct.equals(item.getOsdTimeCorrect())) {
+                this.genWorkOrder(workOrder, ErrorType.CLOCK_SKEW, item.getDeviceNo());
+            }
+            // osd淇℃伅
+            if (!ApiConstants.OSD_Correct.equals(item.getOsdProvinceCorrect())
+                    || (!ApiConstants.OSD_Correct.equals(item.getOsdCityCorrect()))
+                    || (!ApiConstants.OSD_Correct.equals(item.getOsdPartCorrect()))
+                    || (!ApiConstants.OSD_Correct.equals(item.getOsdNameCorrect()))
+            ) {
+                this.genWorkOrder(workOrder, ErrorType.OSD_ERROR, item.getDeviceNo());
             }
             return workOrder;
         }).collect(Collectors.toList());
         workOrderService.innerAddWorkOrder(workOrderList);
     }
-
 
     /**
      * 宸ュ崟淇℃伅
@@ -130,8 +162,12 @@
      * @param serialNumber 鍥芥爣鐮�
      */
     private void genWorkOrder(WorkOrder workOrder, ErrorType errorType, String serialNumber) {
-        workOrder.setWorkOrderNo(IdUtils.timeAddRandomNO(5));
-        workOrder.setErrorType(errorType.getValue());
+        if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) {
+            workOrder.setErrorTypeList(new ArrayList<>());
+            workOrder.getErrorTypeList().add(errorType.getValue());
+        } else {
+            workOrder.getErrorTypeList().add(errorType.getValue());
+        }
         workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
         workOrder.setSerialNumber(serialNumber);
     }

--
Gitblit v1.8.0