fix(ai): 拆解原型无需求ID任务

This commit is contained in:
Script Generator
2026-07-01 13:33:04 +08:00
parent 24e8635a94
commit 756621d366
23 changed files with 371 additions and 45 deletions

View File

@@ -20,7 +20,7 @@ export function calcVersionProgress(
const vPlans = plans.filter((p) => p.versionId === versionId);
const vReqs = requirements.filter((r) => r.versionId === versionId);
const vReqIds = new Set(vReqs.map((r) => r.id));
const vDevTasks = devTasks.filter((t) => vReqIds.has(t.requirementId));
const vDevTasks = devTasks.filter((t) => isDevTaskInVersion(t, versionId, vReqIds));
const vTestCases = testCases.filter((c) => c.versionId === versionId);
const segments: number[] = [];
@@ -78,6 +78,11 @@ export function calcVersionProgress(
return segments.length > 0 ? Math.round(segments.reduce((s, x) => s + x, 0) / segments.length) : 0;
}
function isDevTaskInVersion(task: DevTask, versionId: string, requirementIds: Set<string>): boolean {
if (task.versionId) return task.versionId === versionId;
return requirementIds.has(task.requirementId);
}
/**
* 批量为多个版本算进度,返回 versionId → 进度 (0-100) 的 Map
*/