From fdd02ce546bc7e312e469e62d3473d9517a8a961 Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Wed, 28 Jan 2026 17:22:15 +0800
Subject: [PATCH] 同步获取吉安机巢无人机设备
---
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java | 29 ++++++++++++++++++++++++-----
1 files changed, 24 insertions(+), 5 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 b55d756..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()))));
}
@@ -125,7 +127,7 @@
GdWorkOrderFlowEntity gdWorkOrderFlowEntity = new GdWorkOrderFlowEntity();
gdWorkOrderFlowEntity.setCreateUser(AuthUtil.getUserId());
gdWorkOrderFlowEntity.setWorkOrderId(gdPatrolTaskEntity.getId());
- gdWorkOrderFlowEntity.setFlowName("任务发布");
+ gdWorkOrderFlowEntity.setFlowName(PatrolTaskStatusEnum.PENDING_SIGNING.getStageDesc());
gdWorkOrderFlowEntity.setFlowDesc(AuthUtil.getUserName() + " " + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss") + " 发布任务,等待接单");
gdWorkOrderFlowEntity.setOperator(AuthUtil.getUserName());
gdWorkOrderFlowEntity.setType(WorkOrderTypeEnum.PATROL_TASK.getValue());
@@ -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: {}");
+ }
+ }
/**
* 检查拒绝原因是否必填
@@ -416,7 +434,7 @@
GdWorkOrderFlowEntity flowEntity = new GdWorkOrderFlowEntity();
flowEntity.setCreateUser(AuthUtil.getUserId());
flowEntity.setWorkOrderId(workOrderId);
- flowEntity.setFlowName(newStatus.getDesc());
+ flowEntity.setFlowName(newStatus.getStageDesc());
// 构建流转描述
String flowDesc = buildFlowDesc(newStatus, rejectReason);
@@ -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