From d384786ab5868cd4d856691372eee5359e7d9b2c Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期五, 28 三月 2025 17:48:47 +0800 Subject: [PATCH] 导出新增 连个列,以及同步数据库时点位名修改未成功问题 --- ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java | 6 ++++++ ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 27 +++++++++++++++++++++++++++ ycl-server/src/main/java/com/ycl/task/MonitorTask.java | 10 ++++++++-- 3 files changed, 41 insertions(+), 2 deletions(-) diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java index 597277b..a6c498e 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java @@ -101,8 +101,14 @@ /** 杩愮淮澶勭悊鏃堕棿 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "杩愮淮澶勭悊鏃堕棿",sort = 10,dateFormat = "yyyy-MM-dd HH:mm:ss") private LocalDateTime ywHandleTime; + /** 瀹℃牳閫氳繃鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "瀹℃牳鏃堕棿",sort = 11,dateFormat = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime passTime; + /** 杩愮淮缁撴灉 */ private String ywResult; diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java index 8a08b68..e16d539 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java @@ -1166,6 +1166,9 @@ return Result.ok().data(workOrder); } + @Autowired + private WorkOrderMapper workOrderMapper; + /** * 宸ュ崟瀵煎嚭鐨勯�昏緫 * 鏍囩锛氬悓涓�涓猧p鏍囩鍚堝湪涓�璧凤紝閽堝绂荤嚎宸ュ崟锛坕p鐩稿悓灏变笉浼氱敓鎴愬伐鍗曪級锛屾柟渚胯繍缁村鐞� @@ -1195,6 +1198,30 @@ 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鐨勮澶囥�佸苟鏌ュ嚭鏍囩 diff --git a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java index b13a2cd..6b1f82e 100644 --- a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java +++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java @@ -115,6 +115,7 @@ monitorList.add(monitor); ywPointList.add(point); } + log.error("鍚屾mongo鏂皔wpoint鏁版嵁{}",ywPointList); //娣诲姞鑰佹暟鎹� List<String> numbers = CollectionUtils.isEmpty(monitorList) ? new ArrayList<>() : monitorList.stream().map(TMonitor::getSerialNumber).collect(Collectors.toList()); monitorVOMap.forEach((key, value) -> { @@ -126,11 +127,12 @@ if (osdCheckResult != null) { monitor.setDeviceType(osdCheckResult.getDeviceBrand()); } - monitorList.add(monitor); } }); + //杞崲 List<String> points = CollectionUtils.isEmpty(ywPointList) ? new ArrayList<>() : ywPointList.stream().map(YwPoint::getSerialNumber).collect(Collectors.toList()); + //pointMap鐐逛綅鏃ф暟鎹� 璁惧鐮乵ap pointMap.forEach((key, value) -> { //鑰佽澶囩姸鎬佹敼涓轰笉鍙備笌鑰冩牳 if (!points.contains(key)) { @@ -140,7 +142,7 @@ ywPointList.add(value); } }); - + log.error("鍚屾mongo鏂板姞鏃wpoint鏁版嵁{}",ywPointList); log.info("result闆嗗悎{},璁惧闆嗗悎{},鐐逛綅闆嗗悎{}", oneMachineFileResults.size(), monitorList.size(), ywPointList.size()); //鎻掑叆鏁版嵁搴� if (!CollectionUtils.isEmpty(monitorList)) { @@ -161,6 +163,10 @@ YwPoint ywPoint = new YwPoint(); if (pointMap.containsKey(result.getSerialNumber().getValue())) { ywPoint = pointMap.get(result.getSerialNumber().getValue()); + //鏇存柊瀹氫綅鍚� + if (ywPoint != null) { + ywPoint.setPointName(result.getName().getValue()); + } } else { ywPoint.setPointName(result.getName().getValue()); ywPoint.setStatus(PointStatus.WAIT.getDesc()); -- Gitblit v1.8.0