From e8b60709ea9cf9804a4a9af568f8d5a20f2c4ec9 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期三, 09 九月 2026 10:36:20 +0800
Subject: [PATCH] 修复对比辅助曲线缺失并按来源拆分拼接曲线

---
 src/utils/spliceProjectChart.ts |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/utils/spliceProjectChart.ts b/src/utils/spliceProjectChart.ts
index 8ab1005..e7e5231 100644
--- a/src/utils/spliceProjectChart.ts
+++ b/src/utils/spliceProjectChart.ts
@@ -1,19 +1,20 @@
 import type { SpliceMatrix } from '@/api/spliceReports'
 import type { ProjectSeries } from './projectCycleChart'
 
-/** 同组同电池号跨测试接成一条线;跨组同名电池不能混成同一业务身份。 */
+/** 每个测试电池独立成段;即使电池相同也不跨测试合线,累计位置由快照提供。 */
 export function spliceProjectSeries(matrix: SpliceMatrix): ProjectSeries[] {
-  const result = new Map<string, ProjectSeries>()
-  for (const segment of matrix.segments) {
+  return matrix.segments.map(segment => {
     const source = segment.source
-    const key = JSON.stringify([source.groupId, source.batteryNo])
-    let series = result.get(key)
-    if (!series) { series = { key, name: `${source.group} (#${source.groupId}) · ${source.batteryNo}`, points: [] }; result.set(key, series) }
+    const series: ProjectSeries = {
+      key: `${source.selection.testId}|${source.selection.testBatteryId}`,
+      name: `${source.name} (#${source.selection.testId}) · ${source.group} · ${source.batteryNo}`,
+      points: [],
+    }
     for (const no of segment.originalCycleNos) {
       const position = segment.cyclePositions?.[String(no)]
       if (position === undefined) continue
       series.points.push({ position, source: `${source.name} (#${source.selection.testId}) · ${source.batteryNo} · 原循环${no}`, values: segment.statistics[String(no)] || {} })
     }
-  }
-  return [...result.values()]
+    return series
+  })
 }

--
Gitblit v1.7.1