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