| | |
| | | return Result.ok().data(workOrder); |
| | | } |
| | | |
| | | @Autowired |
| | | private WorkOrderMapper workOrderMapper; |
| | | |
| | | /** |
| | | * 工单导出的逻辑 |
| | | * 标签:同一个ip标签合在一起,针对离线工单(ip相同就不会生成工单),方便运维处理 |
| | |
| | | query.setErrorTypeList(errorTypeList); |
| | | } |
| | | List<WorkOrderVO> export = baseMapper.export(query); |
| | | |
| | | |
| | | List<String> workOrderNos = export.stream().map(WorkOrderVO::getWorkOrderNo).collect(Collectors.toList()); |
| | | List<WorkOrderVO> auditTimeList = workOrderMapper.getAuditTimeList(workOrderNos); |
| | | Map<String, List<Date>> auditTimeMap = auditTimeList.stream() |
| | | .collect(Collectors.groupingBy( |
| | | WorkOrderVO::getWorkOrderNo, // 分组的键 |
| | | Collectors.mapping(WorkOrderVO::getAuditTime, Collectors.toList()))); |
| | | if (!CollectionUtils.isEmpty(workOrderNos)){ |
| | | export.forEach(workOrderVO -> { |
| | | List<Date> auditTimes = auditTimeMap.get(workOrderVO.getWorkOrderNo()); |
| | | if (!CollectionUtils.isEmpty(auditTimes)){ |
| | | //审核通过时间 |
| | | Date passTime = Collections.max(auditTimes); |
| | | ZoneId zoneId = ZoneId.systemDefault(); |
| | | workOrderVO.setPassTime(passTime.toInstant().atZone(zoneId).toLocalDateTime()); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | if (CollectionUtils.isEmpty(export)) return new ArrayList<WorkOrderVO>(); |
| | | List<String> ips = export.stream().map(WorkOrderVO::getIp).collect(Collectors.toList()); |
| | | //查出相同ip的设备、并查出标签 |