From b07bb2a526a10359dc216ca3fb20307934d0fbed Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Thu, 29 Oct 2026 16:39:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=95=B4=E6=97=A5=E6=9C=9F=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E5=88=87=E6=8D=A2=E6=88=90=E5=85=B6=E4=BB=96=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=EF=BC=8C=E5=BA=94=E8=AF=A5=E6=8A=8A=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E5=8F=B7=E5=90=8E=E7=BC=80=E5=8F=96=E6=B6=88=E5=8B=BE=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/Impl/LabelDataProcessorServiceImpl.java | 12 +++++++++--- .../service/Impl/ReportLabelListServiceImpl.java | 5 +++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gaotao/modules/base/service/Impl/LabelDataProcessorServiceImpl.java b/src/main/java/com/gaotao/modules/base/service/Impl/LabelDataProcessorServiceImpl.java index c5475df2..4882de37 100644 --- a/src/main/java/com/gaotao/modules/base/service/Impl/LabelDataProcessorServiceImpl.java +++ b/src/main/java/com/gaotao/modules/base/service/Impl/LabelDataProcessorServiceImpl.java @@ -834,6 +834,11 @@ public class LabelDataProcessorServiceImpl implements LabelDataProcessorService if (!"text".equals(element.getType()) || !"date".equals(element.getDataType())) { return false; } + // 流水号后缀只属于完整日期。提取方式为空按完整日期兼容旧模板;周别等类型即使残留勾选也不再追加。 + String extractType = StringUtils.trimToEmpty(element.getDateExtractType()); + if (StringUtils.isNotBlank(extractType) && !"full".equalsIgnoreCase(extractType)) { + return false; + } return StringUtils.equalsAnyIgnoreCase(StringUtils.trimToEmpty(element.getShowSerialNumber()), "true", "y", "1"); } @@ -1358,9 +1363,10 @@ public class LabelDataProcessorServiceImpl implements LabelDataProcessorService try { java.time.LocalDate yearStartDate = java.time.LocalDate.of(date.getYear(), 1, 1); long daysBetween = java.time.temporal.ChronoUnit.DAYS.between(yearStartDate, date); + // 周别展示为年份后两位 + 两位周号,例如 2026 年第 3 周输出 2603 String yearSuffix = String.format("%02d", date.getYear() % 100); if (daysBetween <= 0) { - return "01" + yearSuffix; + return yearSuffix + "01"; } int firstDayOfWeek = 0; // 默认周日为第一天 @@ -1384,11 +1390,11 @@ public class LabelDataProcessorServiceImpl implements LabelDataProcessorService weekNumber = (int) ((daysBetween - daysToNextWeekStart) / 7) + 2; } int normalizedWeekNumber = Math.max(1, weekNumber); - return String.format("%02d", normalizedWeekNumber) + yearSuffix; + return yearSuffix + String.format("%02d", normalizedWeekNumber); } catch (Exception e) { log.error("周数计算失败: date={}, firstDayOfWeek={}", date, firstDayOfWeekStr); - return "01" + String.format("%02d", date.getYear() % 100); + return String.format("%02d", date.getYear() % 100) + "01"; } } diff --git a/src/main/java/com/gaotao/modules/base/service/Impl/ReportLabelListServiceImpl.java b/src/main/java/com/gaotao/modules/base/service/Impl/ReportLabelListServiceImpl.java index fac09af8..39779e5c 100644 --- a/src/main/java/com/gaotao/modules/base/service/Impl/ReportLabelListServiceImpl.java +++ b/src/main/java/com/gaotao/modules/base/service/Impl/ReportLabelListServiceImpl.java @@ -1107,6 +1107,11 @@ public class ReportLabelListServiceImpl extends ServiceImpl