From ddb3068a51a8af8aa9a8f8c2cb9b6e9228b0c8d9 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 28 八月 2024 11:53:27 +0800 Subject: [PATCH] 同步国标设备、点播定时任务优化 --- ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 46 insertions(+), 6 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..78fd917 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 @@ -9,7 +9,10 @@ import enumeration.general.WorkOrderStatusEnum; 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.List; import java.util.stream.Collectors; @@ -30,18 +33,26 @@ */ @Override public void imageDetectionCheck(List<ImageDetectionResult> dataList) { - List<WorkOrder> workOrderList = dataList.stream().map(item -> { + List<WorkOrder> workOrderList = dataList.stream().filter(item -> 0 == item.getSigna1() + || 0 == item.getColor() + || 0 == item.getSnow() + || 0 == item.getStripe() + || 0 == item.getShade() + || 0 == item.getBlur() + || 0 == item.getLight() + ) + .map(item -> { WorkOrder workOrder = new WorkOrder(); // 淇″彿缂哄け - if (0 == item.getSigna1()) { + if (0 == item.getSigna1() ) { this.genWorkOrder(workOrder, ErrorType.SIGNAL_LOSS, item.getDeviceId()); } // 鐢婚潰鍋忚壊 - if (0 == item.getColor()) { + if ( 0 == item.getColor()) { this.genWorkOrder(workOrder, ErrorType.SCREEN_COLOR_DEVIATION, item.getDeviceId()); } // 闆姳骞叉壈 - if (0 == item.getSnow()) { + if ( 0 == item.getSnow()) { this.genWorkOrder(workOrder, ErrorType.SNOW_STORM, item.getDeviceId()); } // 鏉$汗骞叉壈 @@ -122,6 +133,28 @@ } + @Override + public void osdCheck(List<PyOsdResult> dataList) { + List<WorkOrder> workOrderList = dataList.stream().map(item -> { + WorkOrder workOrder = new WorkOrder(); + // osd鏃堕棿 + if (!item.getCheckTime().equals(item.getSetTime())) { + this.genWorkOrder(workOrder, ErrorType.CLOCK_SKEW, item.getDeviceNo()); + } + // osd淇℃伅 + if (!"璁剧疆姝g‘".equals(item.getOsd1Province()) + || (!"璁剧疆姝g‘".equals(item.getOsd1City())) + || (!"璁剧疆姝g‘".equals(item.getOsd1Part())) + || (!"璁剧疆姝g‘".equals(item.getOsd1TimeFormat())) + || (!"璁剧疆姝g‘".equals(item.getOsd1OSD())) + ) { + this.genWorkOrder(workOrder, ErrorType.OSD_ERROR, item.getDeviceNo()); + } + return workOrder; + }).collect(Collectors.toList()); + workOrderService.innerAddWorkOrder(workOrderList); + } + /** * 宸ュ崟淇℃伅 * @@ -130,8 +163,15 @@ * @param serialNumber 鍥芥爣鐮� */ private void genWorkOrder(WorkOrder workOrder, ErrorType errorType, String serialNumber) { - workOrder.setWorkOrderNo(IdUtils.timeAddRandomNO(5)); - workOrder.setErrorType(errorType.getValue()); + if (! StringUtils.hasText(workOrder.getWorkOrderNo())) { + workOrder.setWorkOrderNo(IdUtils.randomNO()); + } + 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