---
title: "会议出勤系统迁移收尾规划"
summary: "Outlook 同步上线后，旧系列关停 + 旧/新映射 + 新增筛选项的实施方案"
status: draft
target: 2026-W17
---

# 会议出勤系统迁移收尾规划

Outlook 同步已上线，需处理旧系列遗留数据。分三步收尾：

## 3a. 关停旧系列

将旧系列的 `endDate` 改为当前时间，阻止再生成新 instance。

**不用 `isActive=false`** ——后端 `listSeries()` 硬过滤 `isActive=true`，关掉会导致整个系列从后台和报表下拉框消失，旧数据也就看不到了（与"保留历史查看"的需求冲突）。

## 3b. 旧/新映射

代码层写死 `OLD_SERIES_TO_NEW_SERIES` 映射表（只读常量）。

报表页增加"包含旧会议"开关，**默认勾选**。打开时后端 join 映射表把旧 seriesId 的出勤数据合并到新 seriesId。

**前提**：3a 已把旧系列 `endDate` 置为当前时间，不再产生新 instance，避免双算。

**数据边界**（关停时间点）：
- 时间点前：新数据不应有签到数据
- 时间点后：旧数据不应有签到数据

## 3c. 新增筛选项

- "只看未取消的会议"（默认勾选，不勾时排除 `status=CANCELLED`）
- "只看已完成的会议"（默认勾选，不勾时只看 `endTime <= now` 的 instance）
- 结束时间默认填今天（前端 default，不动后端）
