From a2fd9e8884883f31b7eb639a68625e93ad41602a Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 27 Jan 2026 19:45:30 +0800
Subject: [PATCH] 工单优化

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
index 4992c6b..8097e1e 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -25,6 +25,7 @@
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.sxkj.common.constant.WordOrderConstant;
@@ -238,7 +239,7 @@
             // 这里可以根据allSubTasksAudited的结果执行后续逻辑,比如更新工单状态等
             if (allSubTasksAudited) {
 				// 1.验收通过,生成报告
-				exportPatrolReport(task.getWorkOrderId());
+				asyncExportPatrolReport(task.getId());
                 // 2.执行工单状态更新逻辑
                 return updateWorkOrderStatusAndFlow(task.getWorkOrderId(),
                     WorkOrderStatusEnum.ACCEPTED_TO_BE_SETTLED);
@@ -386,6 +387,20 @@
 		}
 	}
 
+	/**
+	 * 异步生成巡查报告
+	 *
+	 * @param patrolTaskId 巡查任务ID
+	 */
+	@Async
+	public void asyncExportPatrolReport(Long patrolTaskId) {
+		try {
+			exportPatrolReport(patrolTaskId);
+		} catch (Exception e) {
+			// 记录异步执行错误日志
+			log.error("异步生成巡查报告失败,任务ID: {}");
+		}
+	}
 
     /**
      * 检查拒绝原因是否必填

--
Gitblit v1.9.3