# 待办事项(TODO) > 汇总自代码扫描(`serve.py` 占位、`report_migration/` 草稿、`NotImplementedError`、Phase 注释)。 > 按优先级分组。来源位置用 `file:line` 标注。 ## P0 — 未实现功能(阻塞使用) ### T0-1 Web 界面(`serve` 命令占位) - **位置**:`src/certflow/cli/commands/serve.py:55-65` - **现状**:CLI 子命令 `certflow serve` 已定义,但 `certflow.web` 模块不存在,`from certflow.web import create_app` 抛 `ImportError`,输出"Web 模块尚未实现"。 - **待办**:选定方案(Flask / FastAPI / PySide6 WebEngine),实现 `certflow.web.create_app()`,提供浏览器访问入口。 - **建议优先级**:取决于远程访问需求;纯单机使用可延后。 ### T0-2 报告迁移草稿区未并入主源 - **位置**:`src/certflow/services/report_migration/material_provider.py:45, 166` - **现状**:`material_provider.py` 抛 `NotImplementedError`;`report_fill_engine.py`、`report_data_builder.py` 为草稿,ruff 已豁免 C901(见 `pyproject.toml:210-213`)。 - **待办**:将草稿并入 `src/certflow/services/`,重写 `material_provider` 的抽象方法实现,移除 `NotImplementedError`。 - **影响**:当前报告生成走 `report_fill_service.py`(已实现),草稿区不阻塞日常使用,但长期需收敛两套实现。 ## P1 — 扩展待补 ### T1-1 Action 注册表 Phase 3.2 收尾 - **位置**:`src/certflow/actions/registry.py:127-128` - **现状**:注释说明 lambda 类 action 已提升为 `_action_*` 命名方法并注册;main_window 导航已在 Phase 2.1 接入。 - **待办**:核对 Phase 3.2 是否还有未提升的 lambda action;确认 `REGISTRY` 已覆盖所有 `ui.yaml` 中声明的 action 名。 - **验证方式**:扫描 `ui.yaml` 中 `action:` 字段,与 `REGISTRY` keys 对比。 ### T1-2 占位目录预建(B0-4)默认关闭 - **位置**:`config/import.yaml` → `create_placeholder_dirs`(默认 `False`);模型 `src/certflow/config/models.py:1222-1239` `ImportPlaceholderConfig`。 - **现状**:VBA 式导入期按订单组预建占位项目文件夹的功能已实现但默认关闭。 - **待办**:若需启用,在 `config/import.yaml` 设 `create_placeholder_dirs: true` 并验证目录命名模板 `{ym}/{rq}/{customer}/{project}`。 - **文档**:`04a-import-flow.md` 需说明该开关。 ## P2 — 平台与兼容性 ### T2-1 Access 导出跨平台受限 - **位置**:`src/certflow/cli/commands/export_access.py` - **现状**:导出到 `SignDB.mdb` 依赖 Windows Access 驱动;`pyodbc` 在 `pyproject.toml:29` 已注释(不支持 Access)。 - **待办**:评估替代方案(如 `pyscape` 已在依赖中),或在文档中明确仅 Windows 可用。 ### T2-2 Git LFS 自动安装覆盖范围 - **位置**:`start.sh:362-395` - **现状**:支持 apt/brew/winget 自动安装 Git LFS;其他平台需手动。 - **待办**:无(文档化即可)。 ## P3 — 文档待补 ### T3-1 操作者手册子文档 - **待办**:按 `docs/04-operator-guide.md` 索引补全 9 个子文档(04a~04i),每个子文档需包含: - 操作入口(GUI 菜单/按钮 + CLI 命令) - 逐步操作截图或步骤列表 - 涉及的配置项(链接到 `03-configuration.md`) - 涉及的 Service/Controller/View 文件(链接到 `06-developer-guide.md`) - 常见问题与回退操作 ### T3-2 CLI 命令完整参数文档 - **待办**:`05-cli-reference.md` 需为 24 个子命令逐个列出 `--help` 输出、参数表、示例。 ### T3-3 配置项与代码映射表 - **待办**:`03-configuration.md` 需为每个 `config/*.yaml` 字段标注:类型、默认值、影响的代码位置、是否需要重启生效。 ## P4 — 代码质量 ### T4-1 复杂度豁免收敛 - **位置**:`pyproject.toml:193-213` - **现状**:多个文件/函数豁免 C901(`bom_material_service.py`、`bom_part_classifier.py`、`report_fill_service.py`、`views/query_view.py` 用函数级 `# noqa: C901`,构建脚本用文件级豁免)。 - **待办**:逐步重构降低复杂度,移除豁免。 ### T4-2 `pyodbc` 依赖注释 - **位置**:`pyproject.toml:29` - **现状**:注释为"不支持 access 数据库"。 - **待办**:确认是否永久移除,或换用其他驱动;更新依赖列表。 ## 已完成(参考) 以下原 TODO 项已实现,仅作记录: - ✅ Action 注册表统一派发(Phase 2.1 / 2.2 / 3.2,`actions/registry.py`) - ✅ 空库自动播种基础字典(`main.py::_maybe_seed_base_data`) - ✅ 数据库四库模型(A/B/C/D,`start.sh` 阶段10) - ✅ 配置 `!include` 拆分(`config.yaml`) - ✅ `paths.local.yaml` 本地覆盖(`config/paths_override.py`)