From cac822dafb8bffd448b17211f83e0039236d36dc Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期二, 08 九月 2026 15:41:01 +0800
Subject: [PATCH] 完善逐电池拼接报表后端规则
---
battery-business/src/main/java/com/battery/business/report/SpliceFieldTemplateService.java | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/battery-business/src/main/java/com/battery/business/report/SpliceFieldTemplateService.java b/battery-business/src/main/java/com/battery/business/report/SpliceFieldTemplateService.java
index 92027f9..6711bf4 100644
--- a/battery-business/src/main/java/com/battery/business/report/SpliceFieldTemplateService.java
+++ b/battery-business/src/main/java/com/battery/business/report/SpliceFieldTemplateService.java
@@ -42,9 +42,9 @@
return fields.stream().map(field -> {
if (!names.add(field.name())) throw new ServiceException("拼接字段不能重复");
Long id = field.fieldDefinitionId();
- if ("battery".equals(field.category()) && resolveDefinitions)
- id = current.stream().filter(item -> field.fieldDefinitionId() == null
- ? item.getFieldName().equals(field.name()) : item.getFieldId().equals(field.fieldDefinitionId()))
+ // 控制台字段只有名称;没有明确共享身份时不得凭同名绑定组字段。
+ if ("battery".equals(field.category()) && resolveDefinitions && id != null)
+ id = current.stream().filter(item -> item.getFieldId().equals(field.fieldDefinitionId()))
.findFirst().orElseThrow(() -> new ServiceException("共享字段不存在:" + field.name())).getFieldId();
if (id != null && !ids.add(id)) throw new ServiceException("共享字段不能重复");
return new SpliceField(field.name(), field.category(), field.unit(), id, field.displayName());
--
Gitblit v1.7.1