From 33d7b1b12afb8c8656eb258cd66ccd76c9e04b8f Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 05 Feb 2026 19:46:58 +0800
Subject: [PATCH] 工单成功补零

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdTaskResultController.java      |    2 +-
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdTaskResultServiceImpl.java   |   22 ++++++++++++++++++++++
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdTaskResultService.java           |    6 ++++++
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java |    1 +
 4 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdTaskResultController.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdTaskResultController.java
index 80d1874..0b45257 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdTaskResultController.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdTaskResultController.java
@@ -142,7 +142,7 @@
 	@ApiOperationSupport(order = 7)
 	@ApiOperation(value = "批量新增", notes = "传入gdTaskResult")
 	public R batchSaveExternal(@Valid @RequestBody List<GdTaskResultDTO> gdTaskResults) {
-		return R.status(gdTaskResultService.saveBatch(GdTaskResultWrapper.build().listEntity(gdTaskResults)));
+		return R.status(gdTaskResultService.saveBatchTaskResult(GdTaskResultWrapper.build().listEntity(gdTaskResults)));
 	}
 
 	/**
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdTaskResultService.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdTaskResultService.java
index 11e49e9..944132b 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdTaskResultService.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdTaskResultService.java
@@ -51,4 +51,10 @@
 	 */
 	List<GdTaskResultExcel> exportGdTaskResult(Wrapper<GdTaskResultEntity> queryWrapper);
 
+	/**
+	 *
+	 * @param gdTaskResultEntities
+	 * @return
+	 */
+    boolean saveBatchTaskResult(List<GdTaskResultEntity> gdTaskResultEntities);
 }
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 a235837..85f5056 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
@@ -331,6 +331,7 @@
 				.filter(Objects::nonNull)
 				.map(load -> load.getName())
 				.filter(Objects::nonNull)
+				.distinct()  // 添加去重逻辑
 				.collect(Collectors.joining(","))
 		);
 
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdTaskResultServiceImpl.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdTaskResultServiceImpl.java
index 6ef0e65..de7156b 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdTaskResultServiceImpl.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdTaskResultServiceImpl.java
@@ -60,6 +60,28 @@
 		return gdTaskResultList;
 	}
 
+	@Override
+	public boolean saveBatchTaskResult(List<GdTaskResultEntity> gdTaskResultEntities) {
+		gdTaskResultEntities.forEach(gdTaskResult -> {
+			String areaCode = gdTaskResult.getAreaCode();
+			if (areaCode != null && !areaCode.isEmpty()) {
+				// 分割区域代码并只取最后一组
+				String[] codes = areaCode.split(",");
+				if (codes.length > 0) {
+					// 取最后一组并去除空格
+					String lastCode = codes[codes.length - 1].trim();
+					if (!lastCode.isEmpty()) {
+						// 补零到12位
+						String padded = lastCode + "000000000000".substring(lastCode.length());
+						gdTaskResult.setAreaCode(padded);
+					}
+				}
+			}
+		});
+		// 执行批量保存并返回结果
+		return saveBatch(gdTaskResultEntities);
+	}
+
 	/**
 	 * 将URL中的HTML/XML转义字符还原为原始字符
 	 * 主要处理 &amp; 转换为 &

--
Gitblit v1.9.3