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/YwThresholdServiceImpl.java | 73 ++++++++++++++++++++++++------------ 1 files changed, 48 insertions(+), 25 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java index 8289811..8a19b35 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java @@ -228,16 +228,16 @@ check(YwThreadConstants.Face_FailPercent, failPercent, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.MORE_THAN_EQ, ErrorType.MODELING_FAIL.getValue()); } // 鐐逛綅鍦ㄧ嚎鐜� - if (2 == result.getSnapResult()) { - workOrder.setSerialNumber(result.getExternalIndexCode()); - workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED); - if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) { - workOrder.setErrorTypeList(new ArrayList<>()); - workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue()); - } else { - workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue()); - } - } +// if (2 == result.getSnapResult()) { +// workOrder.setSerialNumber(result.getExternalIndexCode()); +// workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED); +// if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) { +// workOrder.setErrorTypeList(new ArrayList<>()); +// workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue()); +// } else { +// workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue()); +// } +// } if (WorkOrderStatusEnum.WAIT_DISTRIBUTE.equals(workOrder.getStatus())) { workOrderList.add(workOrder); } else if (WorkOrderStatusEnum.DISTRIBUTED.equals(workOrder.getStatus())) { @@ -299,16 +299,16 @@ check(YwThreadConstants.Car_NoIntegrityCount, integrityRate, result.getExternalIndexCode(), thresholdMap, workOrder, CompareType.LESS_THAN_EQ, ErrorType.CAR_SIX.getValue()); } // 鐐逛綅鍦ㄧ嚎鐜� - if (2 == result.getSnapResult()) { - workOrder.setSerialNumber(result.getExternalIndexCode()); - workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED); - if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) { - workOrder.setErrorTypeList(new ArrayList<>()); - workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue()); - } else { - workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue()); - } - } +// if (2 == result.getSnapResult()) { +// workOrder.setSerialNumber(result.getExternalIndexCode()); +// workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED); +// if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) { +// workOrder.setErrorTypeList(new ArrayList<>()); +// workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue()); +// } else { +// workOrder.getErrorTypeList().add(ErrorType.DEVICE_OFFLINE.getValue()); +// } +// } if (WorkOrderStatusEnum.WAIT_DISTRIBUTE.equals(workOrder.getStatus())) { workOrderList.add(workOrder); } else if (WorkOrderStatusEnum.DISTRIBUTED.equals(workOrder.getStatus())) { @@ -517,8 +517,6 @@ } boolean duplic = checkDuplic(dataList); if (duplic) throw new RuntimeException("瀛樺湪閲嶅鍥芥爣璁惧"); - //宸插瓨鍦ㄧ殑鐧藉悕鍗� - Map<String, WorkOrderWhite> whiteMap = workOrderWhiteMapper.selectList().stream().collect(Collectors.toMap(WorkOrderWhite::getSerialNumber, Function.identity())); List<WorkOrderWhite> addList = new ArrayList<>(); dataList.stream().forEach(item -> { WorkOrderWhite white = new WorkOrderWhite(); @@ -542,9 +540,6 @@ errorDataList.add(errorText); }); white.setErrorType(String.join(",", errorDataList)); - //濡傛灉宸插瓨鍦ㄨˉ鍏卛d - WorkOrderWhite whiteExsit = whiteMap.get(white.getSerialNumber()); - if (whiteExsit != null) white.setId(whiteExsit.getId()); addList.add(white); } catch (Exception e) { throw new RuntimeException("鍥芥爣鐮佷负" + item.getSerialNumber() + "鐨勮澶囨晠闅滅被鍨嬫湁璇�"); @@ -664,6 +659,34 @@ ); } + /** + * 鎵�鏈夌櫧鍚嶅崟娣诲姞鏁呴殰绫诲瀷 + * + * @param workOrderWhite + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Result addBatch(WorkOrderWhite workOrderWhite) { + List<String> errorTypeListAdd = workOrderWhite.getErrorTypeList(); + List<WorkOrderWhite> whites = workOrderWhiteMapper.selectList(); + for (WorkOrderWhite white : whites) { + List<String> errorTypeList = new ArrayList<>(Arrays.asList(white.getErrorType().split(","))); + for (String newError : errorTypeListAdd) { + if (errorTypeList.contains(newError)) { + continue; + } else { + errorTypeList.add(newError); + } + } + white.setErrorType(String.join(",", errorTypeList)); + } + if (!CollectionUtils.isEmpty(whites)) { + workOrderWhiteMapper.deleteAll(); + workOrderWhiteMapper.insertBatch(whites); + } + return Result.ok(); + } + private <T extends Comparable<T>> T parseThreshold(String thresholdStr, Class<?> type) { if (Integer.class.equals(type)) { return (T) Integer.valueOf(thresholdStr); -- Gitblit v1.8.0