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 | 25 ++++++++++++++++++++++---
1 files changed, 22 insertions(+), 3 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 0946714..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;
@@ -52,6 +53,7 @@
import org.sxkj.gd.common.GdMultipartFileUtil;
import org.sxkj.resource.entity.Attach;
import org.sxkj.resource.feign.IAttachClient;
+import org.sxkj.system.cache.SysCache;
import org.sxkj.system.entity.Dept;
import org.sxkj.system.entity.User;
import org.sxkj.system.feign.ISysClient;
@@ -85,8 +87,8 @@
@Autowired
private IGdTaskResultService gdTaskResultService;
@Override
- public IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskPageParam gdPatrolTask, List<Long> deptIdList) {
- return page.setRecords(baseMapper.selectGdPatrolTaskPage(page, gdPatrolTask, deptIdList));
+ public IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskPageParam gdPatrolTask) {
+ return page.setRecords(baseMapper.selectGdPatrolTaskPage(page, gdPatrolTask, SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()))));
}
@@ -236,7 +238,9 @@
boolean allSubTasksAudited = checkAllSubTasksStatus(subTasks, PatrolTaskStatusEnum.ACCEPTANCE_PASSED);
// 这里可以根据allSubTasksAudited的结果执行后续逻辑,比如更新工单状态等
if (allSubTasksAudited) {
- // 执行工单状态更新逻辑
+ // 1.验收通过,生成报告
+ asyncExportPatrolReport(task.getId());
+ // 2.执行工单状态更新逻辑
return updateWorkOrderStatusAndFlow(task.getWorkOrderId(),
WorkOrderStatusEnum.ACCEPTED_TO_BE_SETTLED);
}
@@ -383,6 +387,20 @@
}
}
+ /**
+ * 异步生成巡查报告
+ *
+ * @param patrolTaskId 巡查任务ID
+ */
+ @Async
+ public void asyncExportPatrolReport(Long patrolTaskId) {
+ try {
+ exportPatrolReport(patrolTaskId);
+ } catch (Exception e) {
+ // 记录异步执行错误日志
+ log.error("异步生成巡查报告失败,任务ID: {}");
+ }
+ }
/**
* 检查拒绝原因是否必填
@@ -517,6 +535,7 @@
attach.setAttachSize(reportFile.length());
attach.setExtension(FileUtil.getFileExtension(reportFile.getName()));
attach.setResultType(resultType);
+ attach.setPatrolTaskId(String.valueOf(taskEntity != null ? taskEntity.getId() : null));
Long createUser = taskEntity != null ? taskEntity.getCreateUser() : null;
Long updateUser = taskEntity != null ? taskEntity.getUpdateUser() : null;
Long createDept = taskEntity != null ? taskEntity.getCreateDept() : null;
--
Gitblit v1.9.3