| | |
| | | List<WorkOrderYwConditionRecord> willAddMsg = new ArrayList<>(48); |
| | | // 即将要添加的错误类型 |
| | | List<WorkOrderErrorType> willAddErrorType = new ArrayList<>(96); |
| | | if(!CollectionUtils.isEmpty(inDatabaseWorkOrderList)){ |
| | | if (!CollectionUtils.isEmpty(inDatabaseWorkOrderList)) { |
| | | WorkOrder workOrderInDB = inDatabaseWorkOrderList.get(0); |
| | | List<String> errorNameList = workOrderInDB.getErrorTypeList(); |
| | | List<String> errorTypes = entity.getErrorTypeList(); |
| | | if(errorNameList.containsAll(errorTypes)){ |
| | | if (errorNameList.containsAll(errorTypes)) { |
| | | return Result.error("已有同种故障类型工单"); |
| | | }else { |
| | | } else { |
| | | for (String errorType : errorTypes) { |
| | | if(!errorNameList.contains(errorType)){ |
| | | if (!errorNameList.contains(errorType)) { |
| | | // 错误类型不一样,就新增一个错误类型,并且重置工单状态为待处理 |
| | | WorkOrderErrorType workOrderErrorType = new WorkOrderErrorType(); |
| | | workOrderErrorType.setWorkOrderNo(workOrderInDB.getWorkOrderNo()); |
| | |
| | | } |
| | | } |
| | | return Result.ok("添加成功"); |
| | | }else { |
| | | } else { |
| | | //数据库没有正在进行的工单 |
| | | //查redis今日工单数量 |
| | | int workOrderNum = 0; |
| | |
| | | workOrderErrorTypeService.getBaseMapper().insertWorkOrderErrorTypeList(workOrderErrorTypes); |
| | | if (baseMapper.insert(entity) > 0) { |
| | | return Result.ok("添加成功"); |
| | | }else { |
| | | } else { |
| | | return Result.error("添加失败"); |
| | | } |
| | | } |
| | |
| | | } |
| | | if (query.getStart() != null) query.setStart(DateUtils.getDayStart(query.getStart())); |
| | | if (query.getEnd() != null) query.setEnd(DateUtils.getDayEnd(query.getEnd())); |
| | | if (query.getErrorType() != null) { |
| | | List<String> errorTypeList = new ArrayList<>(); |
| | | errorTypeList.add(query.getErrorType()); |
| | | if (ErrorType.ABNORMAL_PIC.getValue().equals(query.getErrorType())) { |
| | | //List添加之前几种工单类型 |
| | | errorTypeList.add(ErrorType.SIGNAL_LOSS.getValue()); |
| | | errorTypeList.add(ErrorType.SCREEN_COLOR_DEVIATION.getValue()); |
| | | errorTypeList.add(ErrorType.SNOW_STORM.getValue()); |
| | | errorTypeList.add(ErrorType.STRIPE_INTERFERENCE.getValue()); |
| | | errorTypeList.add(ErrorType.SCREEN_OCCLUSION.getValue()); |
| | | errorTypeList.add(ErrorType.ABNORMAL_CLARITY.getValue()); |
| | | } |
| | | query.setErrorTypeList(errorTypeList); |
| | | } |
| | | baseMapper.page(page, query); |
| | | if (!CollectionUtils.isEmpty(page.getRecords())) { |
| | | page.getRecords().stream().forEach(item -> { |
| | |
| | | /** |
| | | * 工单导出的逻辑 |
| | | * 标签:同一个ip标签合在一起,针对离线工单(ip相同就不会生成工单),方便运维处理 |
| | | * |
| | | * @param query |
| | | * @return |
| | | */ |
| | |
| | | } |
| | | if (query.getStart() != null) query.setStart(query.getStart() + " 00:00:00"); |
| | | if (query.getEnd() != null) query.setEnd(query.getEnd() + " 23:59:59"); |
| | | if (query.getErrorType() != null) { |
| | | List<String> errorTypeList = new ArrayList<>(); |
| | | errorTypeList.add(query.getErrorType()); |
| | | if (ErrorType.ABNORMAL_PIC.getValue().equals(query.getErrorType())) { |
| | | //List添加之前几种工单类型 |
| | | errorTypeList.add(ErrorType.SIGNAL_LOSS.getValue()); |
| | | errorTypeList.add(ErrorType.SCREEN_COLOR_DEVIATION.getValue()); |
| | | errorTypeList.add(ErrorType.SNOW_STORM.getValue()); |
| | | errorTypeList.add(ErrorType.STRIPE_INTERFERENCE.getValue()); |
| | | errorTypeList.add(ErrorType.SCREEN_OCCLUSION.getValue()); |
| | | errorTypeList.add(ErrorType.ABNORMAL_CLARITY.getValue()); |
| | | } |
| | | query.setErrorTypeList(errorTypeList); |
| | | } |
| | | List<WorkOrderVO> export = baseMapper.export(query); |
| | | if(CollectionUtils.isEmpty(export)) return new ArrayList<WorkOrderVO>(); |
| | | if (CollectionUtils.isEmpty(export)) return new ArrayList<WorkOrderVO>(); |
| | | List<String> ips = export.stream().map(WorkOrderVO::getIp).collect(Collectors.toList()); |
| | | //查出相同ip的设备、并查出标签 |
| | | List<TMonitorResult> monitorVOS = monitorMapper.getByIp(ips); |
| | |
| | | tMonitorResult.setDynamicColumnList(map.get(pointId)); |
| | | } |
| | | } |
| | | export.forEach(result->{ |
| | | export.forEach(result -> { |
| | | StringBuilder dynamicTag = new StringBuilder(""); |
| | | Boolean provinceTagVideo = false; |
| | | Boolean provinceTagCar = false; |
| | |
| | | Boolean deptTag = false; |
| | | List<String> dynamicTags = new ArrayList<>(); |
| | | for (TMonitorResult tagVO : monitorVOS) { |
| | | if(tagVO.getIp().equals(result.getIp())){ |
| | | if(tagVO.getProvinceTagVideo()) provinceTagVideo = true; |
| | | if(tagVO.getProvinceTagCar()) provinceTagCar = true; |
| | | if(tagVO.getProvinceTagFace()) provinceTagFace = true; |
| | | if(tagVO.getImportantTag()) importantTag = true; |
| | | if(tagVO.getImportantCommandImageTag()) importantCommandImageTag = true; |
| | | if(tagVO.getDeptTag()) deptTag = true; |
| | | //省厅标签通过ip判断 (运维要求) |
| | | if (tagVO.getIp().equals(result.getIp())) { |
| | | if (tagVO.getProvinceTagVideo()) provinceTagVideo = true; |
| | | if (tagVO.getProvinceTagCar()) provinceTagCar = true; |
| | | if (tagVO.getProvinceTagFace()) provinceTagFace = true; |
| | | if (tagVO.getImportantTag()) importantTag = true; |
| | | if (tagVO.getImportantCommandImageTag()) importantCommandImageTag = true; |
| | | if (tagVO.getDeptTag()) deptTag = true; |
| | | } |
| | | //动态列根据国标判断 |
| | | if (tagVO.getNo().equals(result.getSerialNumber())) { |
| | | //动态列处理加在标签里 |
| | | if (!CollectionUtils.isEmpty(tagVO.getDynamicColumnList())) { |
| | | List<DynamicColumnVO> dynamicColumnList = tagVO.getDynamicColumnList(); |
| | | for (DynamicColumnVO dynamicColumnVO : dynamicColumnList) { |
| | | if(!dynamicTags.contains(dynamicColumnVO.getColumnValue())) dynamicTags.add(dynamicColumnVO.getColumnValue()); |
| | | if (!dynamicTags.contains(dynamicColumnVO.getColumnValue())) |
| | | dynamicTags.add(dynamicColumnVO.getColumnValue()); |
| | | } |
| | | } |
| | | } |
| | |
| | | for (String tag : dynamicTags) { |
| | | dynamicTag.append(tag).append("、"); |
| | | } |
| | | StringBuilder tag = new StringBuilder("" + (provinceTagVideo ? "省厅视频、" : "")+(provinceTagCar ? "省厅车辆、" : "")+(provinceTagFace ? "省厅人脸、" : "") + (importantTag ? "重点点位、" : "") + (importantCommandImageTag ? "重点指挥图像、" : "") + (deptTag ? "部级、" : "")); |
| | | StringBuilder tag = new StringBuilder("" + (provinceTagVideo ? "省厅视频、" : "") + (provinceTagCar ? "省厅车辆、" : "") + (provinceTagFace ? "省厅人脸、" : "") + (importantTag ? "重点点位、" : "") + (importantCommandImageTag ? "重点指挥图像、" : "") + (deptTag ? "部级、" : "")); |
| | | if (tag.toString().endsWith("、")) { |
| | | tag = new StringBuilder(tag.substring(0, tag.length() - 1)); |
| | | } |