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/service/impl/GdTaskResultServiceImpl.java |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 53 insertions(+), 1 deletions(-)

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 aaf4e5d..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
@@ -43,7 +43,11 @@
 
 	@Override
 	public List<GdTaskResultVO> listByPatrolTaskId(Long patrolTaskId) {
-		return baseMapper.selectGdTaskResultListByPatrolTaskId(patrolTaskId);
+		List<GdTaskResultVO> gdTaskResultVOS = baseMapper.selectGdTaskResultListByPatrolTaskId(patrolTaskId);
+		for (GdTaskResultVO gdTaskResultVO : gdTaskResultVOS) {
+			gdTaskResultVO.setResultUrl(unescapeUrl(gdTaskResultVO.getResultUrl()));
+		}
+		return gdTaskResultVOS;
 	}
 
 
@@ -56,4 +60,52 @@
 		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; 转换为 &
+	 *
+	 * @param url 包含转义字符的URL
+	 * @return 还原后的URL
+	 */
+	public static String unescapeUrl(String url) {
+		if (url == null || url.isEmpty()) {
+			return url;
+		}
+
+		// 按照优先级顺序进行替换,避免重复替换问题
+		String result = url;
+
+		// 处理常见的HTML/XML转义字符
+		result = result.replace("&amp;", "&");     // &符号
+		result = result.replace("&lt;", "<");      // 小于号
+		result = result.replace("&gt;", ">");      // 大于号
+		result = result.replace("&quot;", "\"");   // 双引号
+		result = result.replace("&#39;", "'");     // 单引号
+		result = result.replace("&apos;", "'");    // 单引号
+
+		return result;
+	}
+
 }

--
Gitblit v1.9.3