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