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转义字符还原为原始字符
+ * 主要处理 & 转换为 &
+ *
+ * @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("&", "&"); // &符号
+ result = result.replace("<", "<"); // 小于号
+ result = result.replace(">", ">"); // 大于号
+ result = result.replace(""", "\""); // 双引号
+ result = result.replace("'", "'"); // 单引号
+ result = result.replace("'", "'"); // 单引号
+
+ return result;
+ }
+
}
--
Gitblit v1.9.3