From a34e373b7a1726fc8a8fe35dda92e003d0c173e9 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期一, 07 九月 2026 21:46:30 +0800
Subject: [PATCH] 完成拼接报表验收后业务注释整理
---
battery-business/src/main/java/com/battery/business/report/SpliceReportService.java | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/battery-business/src/main/java/com/battery/business/report/SpliceReportService.java b/battery-business/src/main/java/com/battery/business/report/SpliceReportService.java
index 1ad9ec5..fca9c40 100644
--- a/battery-business/src/main/java/com/battery/business/report/SpliceReportService.java
+++ b/battery-business/src/main/java/com/battery/business/report/SpliceReportService.java
@@ -102,6 +102,7 @@
for (String key : List.of("chargeEnergy", "dischargeEnergy", "chargeCapacity", "dischargeCapacity"))
if (cycleRows.get(0).get(key) != null) values.put(key, cycleRows.get(0).get(key));
Number charge = num(values.get("chargeEnergy")), discharge = num(values.get("dischargeEnergy"));
+ // 两项能量沿用同一存储单位;非正分母留缺失,计算结果不截断到百分之百。
if (charge != null && discharge != null && charge.doubleValue() > 0)
values.put("energyEfficiency", new BigDecimal(discharge.toString()).multiply(BigDecimal.valueOf(100))
.divide(new BigDecimal(charge.toString()), MathContext.DECIMAL128));
@@ -158,6 +159,7 @@
var selections = JSON.parseArray(snapshot.getString("selections"), SpliceReportRequest.Selection.class);
var settings = settings(snapshot.getJSONObject("settings"), false);
Matrix matrix = freeze(preview(selections), fields(settings));
+ // 人工值绑定原循环身份,刷新只清理已不存在的循环,不按新的拼接循环号迁移。
var overrides = JSON.parseObject(JSON.toJSONString(settings.getOrDefault("statisticValues", Map.of())));
overrides.keySet().retainAll(statisticKeys(matrix.segments()));
settings.put("statisticValues", overrides);
@@ -215,6 +217,7 @@
}
private Set<String> statisticKeys(List<Map<String,Object>> segments) {
+ // 测试电池身份和原循环号共同限定人工值,重排来源不改变其归属。
Set<String> allowed = new HashSet<>();
for (var segment : segments) {
var source = JSON.parseObject(JSON.toJSONString(segment.get("source")), Candidate.class);
--
Gitblit v1.7.1