From 0fcc32561eb34e6c5db7eef26ac55f92a25dc79c Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 05 Feb 2026 10:29:45 +0800
Subject: [PATCH] 工单优化

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java
index 6ea01ab..0f2c121 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java
@@ -19,9 +19,8 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.sxkj.gd.utils.GdGeoAddressUtil;
 import org.sxkj.gd.utils.GeomUtils;
 import org.sxkj.gd.workorder.dto.GdXingtuAirportListDTO;
@@ -104,11 +103,12 @@
 	 * @return 同步数量
 	 */
 	@Override
-	@Scheduled(cron = "0 0 0 * * ?")
 	public int syncXingtuDevice() throws Exception {
 		int total = 0;
-		total += syncPilotDevices();
+		// 2.同步机巢设备
 		total += syncAirportDevices();
+		// 1.同步无人机设备
+		total += syncPilotDevices();
 		log.info("更新或新增设备"+total);
 		return total;
 	}
@@ -171,9 +171,12 @@
 		if (StringUtil.isBlank(entity.getAirportId())) {
 			return false;
 		}
+		// 获取设备信息
 		GdManageDeviceEntity exist = lambdaQuery()
 			.eq(GdManageDeviceEntity::getAirportId, entity.getAirportId())
 			.one();
+		// 获取父级设备信息
+		GdManageDeviceEntity parent = getOne(Wrappers.<GdManageDeviceEntity>lambdaQuery().eq(GdManageDeviceEntity::getChildSn, entity.getDeviceSn()));
 		if (exist != null) {
 			entity.setId(exist.getId());
 			if (entity.getLongitude() == null) {
@@ -184,6 +187,13 @@
 			}
 			if (entity.getInsureExpiredTime() == null) {
 				entity.setInsureExpiredTime(exist.getInsureExpiredTime());
+			}
+			// 获取父级设备位置信息
+			if (parent != null) {
+				entity.setLongitude(parent.getLongitude());
+				entity.setLatitude(parent.getLatitude());
+				entity.setHeight(parent.getHeight());
+				entity.setModeCode(Long.valueOf(parent.getStatus()));
 			}
 		}
 		return saveOrUpdateDevice(entity);
@@ -211,6 +221,7 @@
 		entity.setModeCode(parseModeCode(item.getStatus()));
 		entity.setInsureExpiredTime(parseInsuranceDate(item.getInsuranceInfo()));
 		entity.setAreaCode(extractAreaCode(item.getRegionCode()));
+		entity.setIsWithDock(item.getIsWithDock());
 		return entity;
 	}
 

--
Gitblit v1.9.3