From 8a116ffbb7e4e6af1502a841b811b8108cdeb359 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 04 Feb 2026 20:08:40 +0800
Subject: [PATCH] 工单优化

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java    |    2 +-
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java         |    7 +++++++
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java            |    8 ++++++++
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/PatrolTaskStatusEnum.java           |    1 -
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml             |    9 +++++++++
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java |   29 ++++++++++++++---------------
 6 files changed, 39 insertions(+), 17 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java
index 05709e0..c5c8ed5 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java
@@ -162,7 +162,7 @@
 		GdPatrolTaskEntity auditParam = new GdPatrolTaskEntity();
 		auditParam.setId(param.getId());
 		auditParam.setTaskStatus(PatrolTaskStatusEnum.PENDING_ACCEPTANCE.getValue());
-		return R.status(gdPatrolTaskService.updateById(auditParam));
+		return R.status(gdPatrolTaskService.updatePatrolTaskById(auditParam));
 	}
 
 	/**
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/PatrolTaskStatusEnum.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/PatrolTaskStatusEnum.java
index 5a98c4c..ab45986 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/PatrolTaskStatusEnum.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/PatrolTaskStatusEnum.java
@@ -2,7 +2,6 @@
 
 import com.baomidou.mybatisplus.annotation.EnumValue;
 import com.fasterxml.jackson.annotation.JsonValue;
-import lombok.AllArgsConstructor;
 import lombok.Getter;
 
 /**
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java
index 5f2c023..740d9eb 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java
@@ -74,4 +74,12 @@
 	 * @return
 	 */
     GdPatrolTaskVO getPatrolTaskDetail(GdPatrolTaskEntity gdPatrolTaskEntity);
+
+	/**
+	 *
+	 * @param id
+	 * @param code
+	 * @return
+	 */
+	GdWorkOrderEntity getWorkOrderIdById(Long id, String code);
 }
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
index 677412f..1ade68b 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
@@ -114,6 +114,15 @@
         WHERE pt.id = #{id}
     </select>
 
+    <select id="getWorkOrderIdById" resultType="org.sxkj.gd.workorder.entity.GdWorkOrderEntity">
+        SELECT
+            *
+        FROM
+            ja_gd_work_order
+        WHERE id = #{id}
+          AND work_order_status = #{code}
+    </select>
+
     <!-- 自定义更新工单状态语句 -->
     <update id="updateWorkOrderById" parameterType="org.sxkj.gd.workorder.entity.GdWorkOrderEntity">
         UPDATE ja_gd_work_order
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java
index 76bca60..00c3cfe 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java
@@ -96,4 +96,11 @@
 	 * @return
 	 */
     GdPatrolTaskVO getPatrolTaskDetail(GdPatrolTaskEntity gdPatrolTaskEntity);
+
+	/**
+	 *
+	 * @param auditParam
+	 * @return
+	 */
+	boolean updatePatrolTaskById(GdPatrolTaskEntity auditParam);
 }
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 bfbc604..2af4b63 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
@@ -480,7 +480,6 @@
 	}
 
 
-
 	/**
 	 * 根据部门ID获取部门名称
 	 *
@@ -672,20 +671,6 @@
 		}
 		if (StringUtil.isNotBlank(gdPatrolTaskVO.getAirportId())) {
 			param.setAirportId(gdPatrolTaskVO.getAirportId());
-			// GdManageDeviceEntity device = null;
-			// if (StringUtils.isNumeric(taskEntity.getAirportId())) {
-			// 	device = gdManageDeviceService.getById(Long.valueOf(taskEntity.getDeviceId()));
-			// }
-			// if (device == null) {
-			// 	device = gdManageDeviceService.lambdaQuery()
-			// 		.eq(GdManageDeviceEntity::getAirportId, taskEntity.getDeviceId())
-			// 		.one();
-			// }
-			// if (device != null && StringUtil.isNotBlank(device.getAirportId())) {
-			// 	param.setAirportId(device.getAirportId());
-			// } else {
-			// 	param.setAirportId(taskEntity.getAirportId());
-			// }
 		}
 		param.setStatus("待执行");
 		param.setTaskType("航线飞行");
@@ -696,4 +681,18 @@
 	public GdPatrolTaskVO getPatrolTaskDetail(GdPatrolTaskEntity gdPatrolTaskEntity) {
 		return baseMapper.getPatrolTaskDetail(gdPatrolTaskEntity);
 	}
+
+	@Override
+	public boolean updatePatrolTaskById(GdPatrolTaskEntity auditParam) {
+		GdPatrolTaskEntity patrolTaskEntity = getById(auditParam.getId());
+		// 保存巡查工单流转
+		saveWorkOrderFlow(patrolTaskEntity.getWorkOrderId(), PatrolTaskStatusEnum.PENDING_ACCEPTANCE, null, null);
+		// 保存工单流转
+		GdWorkOrderEntity workOrderEntity = baseMapper.getWorkOrderIdById(auditParam.getId(), WorkOrderStatusEnum.EXECUTING_TO_BE_COMPLETED.getCode());
+		// 工单流转
+		if (workOrderEntity == null) {
+			updateWorkOrderStatusAndFlow(patrolTaskEntity.getWorkOrderId(), WorkOrderStatusEnum.EXECUTING_TO_BE_COMPLETED);
+		}
+		return updateById(auditParam);
+	}
 }

--
Gitblit v1.9.3