# 时差培养箱合并改造 · 工作计划表 > 续接载体之一(人类可读主表)。配套:进度状态.yaml / 交接卡.md / 待验证清单.md。 > **状态图例**:☑完成(含真机验证)|🟢符合(代码完成且经审计可信,部分待真机)|🔶半成品(搭壳未接线/部分接通)|❌欠账(文档要求未做)|◐进行中|☐未开始。 > 真机/环境验证列 ✔ = 需连下位机或服务环境才能验收(见待验证清单.md)。 > **本表状态依据**:2026-06-20 逐条 file:line 源码核实 + 本会话真机验证结果(取代旧"代码完成待验证"虚标)。 > 依据文档:00-需求总览.md 及 需求文档/01–14(无 11)。 --- ## 〇、全局概览 · 续接指南(打开本表先看这里) **当前状态(2026-06-20)**:三项目合并物理收尾**已完成** —— control 并入 `ivf_tl_operate_2.0/control/`(顶层目录消失,operate 自包含)、autofocustool 删除、编译 operate/front/单测三关 0 错误、**真机硬件层+业务API验证闭环**;串口占用代码层修复(T1.1 补 HAL 方法 / T1.2 调试页改 lease 删 new ComBin / T1.3 接通借用闸门暂停);Phase0 功能 bug 全修。剩:真机 GUI 业务流程、UI(首页弹框/子页自适应)、日志铺开、去重、M6/M7。 **文档三层结构(找什么去哪)**: - **需求文档/**(01–14,无 11)= *做什么*(已更新到合并现实) - **开发计划/2026-06-20-当前开发计划.md** = *怎么做*(剩余 5 组 15 任务);`已完成归档/` = 历史子计划(M1–M5/M8/执行框架) - **进度/** = *到哪了*:**本表(工作计划表)= 里程碑真实状态** / 待验证清单.md / 进度状态.yaml(断点)/ 交接卡.md(追加式历史)/ 历史报告/(旧审计报告归档) **续接三件套(无缝接续,不依赖对话记忆)**:① 本表(里程碑状态)② 《2026-06-20-当前开发计划.md》(剩余工作)③ 进度状态.yaml(当前断点)。 **剩余工作总览**(详见《当前开发计划》):G1 串口收尾(T1.4 真机/ComBin 枚举迁移去重/写EEPROM V-010)|G2 UI(首页舱室弹框位置大小/13 子页自适应/TabTip/well 三态)|G3 日志铺开(operate 逐方法/**Java 埋点 ✅2026-06-20 完成**/C4 配置下发)|G4 对焦·数据(C6 清理任务/**C2 建库 runner ✅2026-06-20 完成**/V-046 列迁移)|G5 业务回归(M6/M7)。多数受真机 GUI 门控。 --- ## 合并物理收尾(三项目合并最后一公里 · 本会话完成) > 这是用户"删掉不用代码"诉求的前置,审计 C1 列为退役阻塞项;本会话已完成物理合并与真机闭环验证。 | 编号 | 任务 | 状态 | 出口验收 | 说明 / 证据 | |------|------|------|----------|--------------| | MERGE-01 | control 物理并入 operate | ☑ | 顶层 ivf_tl_control_2.0 消失、operate 自包含 | `git mv` 并入 `ivf_tl_operate_2.0/control/`,operate 不再跨目录 ProjectReference 顶层 control | | MERGE-02 | autofocustool 退役删除 | ☑ | 零引用、整体删除 | 算法早已移植 IvfTl.AutoFocus;autofocustool 目录已删 | | MERGE-03 | 合并后编译三关 | ☑ | operate / front / 单测 0 错误 | 三关全 0 error | | MERGE-04 | 真机硬件层闭环 | ☑ | 握手/温压门/电机/相机/SN | 7舱握手 + 三路温度 + 压力 + 舱门 + 电机偏差0 + 相机出图 2592×1944 + CCDSN 映射,全部真机通过 | | MERGE-05 | 真机业务 API 闭环 | ☑ | 登录/各服务 API | 登录 / tl-control / business / surface getButtons / 对焦下发(V-047)上行(V-064) 链路全通 | | MERGE-06 | data-transmission 起服务 | ☑ | 6 服务注册 Nacos | 108 漏建 aivfo-tl 库已补建 + 导入 4 表 → data-transmission Started,nacos 共 6 服务 | --- ## M0 · 基线与脚手架 | 编号 | 任务 | 状态 | 依赖 | 出口验收 | 关联源码/文档 | 环境验证 | |------|------|------|------|----------|--------------|---------| | M0-00 | 项目文档与源码一致性审核(四维度) | ☑ | — | 产出 文档源码审核报告.md | 需求文档/01–11、12 §1.6 | | | M0-01 | 建立进度文件组(4 文件)作为续接载体 | ☑ | — | 4 文件就位,可据其续接 | 12 §1.2 | | | M0-02 | 回归基线记录(现状业务行为,9 文档 §2) | ☐ | M0-00 | 基线清单成文 | 09 §2 | ✔ | | M0-03 | 统一硬件访问层接口定义(骨架,不实现) | ☑ | M0-00 | 接口签名定义成文 | 13;01;00 §4 D2 | | **M0 总评**:✅ 基线就位。 ## M1 · 合并跑通(依据 01;审计 U1/U3) > 审计真相:源码骨架到位 + **物理合并已完成(MERGE 行)**;HAL 由"半成品"在本会话修复为接通(借用闸门暂停 T1.3、调试改 lease T1.2、补 HAL 6/7 方法 T1.1)。 | 编号 | 任务 | 状态 | 依赖 | 出口验收 | 关联源码/文档 | 环境验证 | |------|------|------|------|----------|--------------|---------| | M1-00 | 程序集身份统一(同名冲突消解) | ☑ | — | 无重复程序集/类型冲突 | 命名空间隔离 IvfTl.Control.*;operate+control 0 error 编译通过 | | | M1-01 | operate 单进程托管 control StartRun() | 🟢 | M0-03 | 单进程启动、control 无独立 UI | StartMain.cs、MainWindow.xaml.cs;真机托管启动通过 | ✔ | | M1-02 | 去 control 登录窗 Window1、单登录 | 🟢 | M1-01 | 无 control 登录窗 | MainWindow.xaml.cs;真机单登录通过 | | | M1-03 | 硬件访问层单例落地 + 互斥 + 借用闸门 | 🟢 | M1-01 | 调试取图↔采集切换不占用 | **T1.1 补 HAL 6/7 方法(写EEPROM待V-010真机);T1.2 调试页删 new ComBin 改 lease.Serial/Camera;T1.3 接通借用闸门暂停 CapturePausedByGate**;真机 T1.4 待 GUI 验 | ✔ | **M1 总评**:🟢 源码 + 物理合并 ✅;HAL 闸门暂停/调试 lease/HAL 方法 本会话接通(旧审计 U3"半成品"已修);T1.4 串口占用解除真机待 GUI 验、写EEPROM待 V-010。 ## M2 · 本地自动对焦(依据 03 + 12 §2;审计 U2) > 审计真相:算法/公式/手调真完成(可信基线);致命 bug **scene=0 默认不拍照本会话已修(T0.2 降级回退 eepromClearPosition)**;单测已重建(M2-02 23 断言全通过)。清理任务仍欠账、标定实拍真机待验。 | 编号 | 任务 | 状态 | 依赖 | 出口验收 | 关联源码/文档 | 环境验证 | |------|------|------|------|----------|--------------|---------| | M2-01 | 移植对焦算法 | 🟢 | M1-01 | 算法类移植编译通过 | IvfTl.AutoFocus/;与 autofocustool 一致 | ✔ | | M2-02 | 拍摄层位置计算 + 配置解析(单测) | ☑ | M2-01 | 公式与配置链单测通过 | **单测重建 23 断言全通过 + 对焦公式逻辑验证正确** | | | M2-03 | StartAutoFocus 本地化 | 🟢 | M2-01,M2-02 | 本地算 FocusZ 驱动拍照 | HouseBin.cs;**T0.2 修 scene=0 降级回退 eepromClearPosition(修"默认不拍照")**;V-047 下发链 Java 编译 SUCCESS | ✔ | | M2-04 | 标定写本地 JSON + 镜像 calibration 表 | 🟢 | M2-03,M3-DB | 标定结果落库 | CalibrationStore | ✔ | | M2-05 | 场景A 工程师调试页一键标定 | 🟢 | M2-03 | 16 well 逐个跑 | HouseDebugPageVM | ✔ | | M2-06 | 场景B 放皿后自动对焦接入触发 | 🟢 | M2-05 | 放皿自动出图 | HouseBin;安全门 | ✔ | | M2-07 | 对焦后界面手调拍摄层(well 级持久化) | 🟢 | M2-03 | 手调值写 house_well_setting | HouseDebugPageView;V-064 上行链 Java 编译 SUCCESS | ✔ | | M2-清理 | 对焦标定清理任务(scene=1 定期清理) | ❌ | M2-04 | 按天数清理、scene=0 保留 | 审计 C6:clean_autofocus_data 仅配置列无消费者 | ✔ | **M2 总评**:🟢 算法/公式/手调/单测可信,scene=0 致命 bug 本会话已修;标定实拍真机待验、清理任务(C6)未做。 ## M3 · 微服务改造(依据 04;审计 U4) > 审计真相:**质量最好的一块(全符合)**——删打分链干净、5 处消费改判据无 NPE、闭环未破坏。 | 编号 | 任务 | 状态 | 依赖 | 出口验收 | 关联源码/文档 | 环境验证 | |------|------|------|------|----------|--------------|---------| | M3-DB | 自动对焦数据层 SQL 迁移 | ☑ | M0-00 | 迁移脚本成文并应用 | 应用到库并 DESC 校验通过(V-001 ☑) | ✔ | | M3-01 | 删选层打分链 | 🟢 | M2-03 | 打分链无残留、无启动报错 | 04 §4.1;编译 SUCCESS | ✔ | | M3-02 | business-manage image_score 消费改判据 | 🟢 | M3-01 | 不 NPE | 04 §6.2;5 处改判据;编译 SUCCESS | ✔ | | M3-03 | calPhotoPosition 输入改本地对焦结果 | 🟢 | M2-03,M3-01 | 本地结果驱动拍照位置 | 04 §5/§6.3;编译 SUCCESS | ✔ | | M3-04 | 保留链回归(抠图/水印/视频/AI) | 🟢 | M3-01 | 回归通过 | 04 §4.3/§7;待验证 V-072~075 | ✔ | **M3 总评**:🟢 符合(审计质量最好);真机回归待 M7。 ## M4 · UI 改造(依据 07;审计 U7) > 审计真相:框架 + 主页 + 键盘 + 双语真落地;**13 子页自适应未落地(仍写死像素)+ TabTip 未屏蔽 + 弹框位置待修**。 | 编号 | 任务 | 状态 | 依赖 | 出口验收 | 关联源码/文档 | 环境验证 | |------|------|------|------|----------|--------------|---------| | M4-01 | 自适应竖屏框架 + 触控 + 圆形 + 键盘 + 主页零滚动 | 🔶 | M1-01 | 框架/主页/键盘/双语落地 | 07;M4子计划;主窗/主页/新页已改 | ✔ | | M4-子页 | 13 子页自适应(去写死像素 + Viewbox) | ❌ | M4-01 | 各子页各分辨率布局正常 | 审计 B4:SettingPageView/ChartPageView/DetailPageView/HouseDebugPageView 等仍 Height=2736/Width=1824 | ✔ | | M4-TabTip | TabTip(系统触摸键盘)程序级屏蔽 | ❌ | M4-01 | TabTip 不弹 | 审计 D2/B4:仅停 osk + IME 禁用,TabTip 未屏蔽 | ✔ | | M4-弹框 | 首页舱室弹框 / 标定弹窗 位置/大小修复 | 🔶 | M4-01 | 弹框位置正确居中 | 真机视觉待修 | ✔ | **M4 总评**:🔶 框架部分落地;子页自适应/TabTip 欠账,弹框位置待修。 ## M5 · 配置统一 / 服务监控 / 通讯稳定(依据 05/06;审计 U6) > 审计真相:加密/监控/MQTT 真落地;kfka 重复键回归 **本会话已修(T0.1 删重复键)**;容错读取已接(B6)、HTTP 失联标记已补(C3)。 | 编号 | 任务 | 状态 | 依赖 | 出口验收 | 关联源码/文档 | 环境验证 | |------|------|------|------|----------|--------------|---------| | M5-01 | 参数配置统一管理(分层/去重/加密/界面化) | 🟢 | M1-01 | 配置界面化、单一数据源、密码加密 | 06;**T0.1 删 kfka 重复键(修日志指错 localhost 回归)** | | | M5-02 | 设置页只读服务监控 + 链路健康 + 心跳/断线/补传 | 🟢 | M1-01 | 断线有提示、补传不丢 | 05;**B6 容错读取接启动崩点 + C3 HTTP 失联标记已补 + down 审计真相:契约(traceId/topic/NPE)已对齐,骨架通;待 GUI 业务流程真机走通。 | 编号 | 任务 | 状态 | 依赖 | 出口验收 | 关联源码/文档 | 环境验证 | |------|------|------|------|----------|--------------|---------| | M6-01 | 既有临床业务全回归 + front 影响回归 | ☐ | M2–M5 | 业务基线逐条通过 | 02、08、09 §2;待 operate GUI 业务流程 | ✔ | **M6 总评**:☐ 未开始(待 GUI 业务流程真机走通)。 ## M7 · 集中测试与真机验收(依据 09 §3 + 待验证清单.md) | 编号 | 任务 | 状态 | 依赖 | 出口验收 | 关联源码/文档 | 环境验证 | |------|------|------|------|----------|--------------|---------| | M7-01 | 按待验证清单风险从高到低集中验证 | ☐ | M6 | 高风险项有结论或缓解 | 12 §1.4、09 §3 | ✔ | | M7-02 | 真胚胎对焦/74000伪峰/EEPROM 回写读回一致 | ☐ | M7-01 | 03 §6 三项有结论 | 03 §6 | ✔ | | M7-03 | 端到端闭环 + 断网恢复补传 | ☐ | M7-01 | 09 §3 验收清单全过 | 09 §3 | ✔ | **M7 总评**:☐ 未开始(硬件层 + 业务 API 已真机闭环,GUI 全流程验收待续)。 ## M8 · 全量操作日志(依据 14;审计 U8) > 审计真相:机制四段链路通;**埋点远未"全埋"——operate 逐方法/Java(tl-control/business) 埋点 ❌、配置下发 ❌(C4)**;front 接入 **本会话已补(C5)**。 | 编号 | 任务 | 状态 | 依赖 | 出口验收 | 关联源码/文档 | 环境验证 | |------|------|------|------|----------|--------------|---------| | M8-01 | 日志库 operation_log 表 + 微服务 aivfo-oplog | ☑ | — | 操作日志经 Kafka 入库 | 14;P1 完成(发消息→入库✔) | ✔ | | M8-02 | Kafka topic tl-oplog + 统一 schema | ☑ | M8-01 | 两端日志格式一致 | 14 §5/6;三端同 schema | ✔ | | M8-03 | Java @OperateLog 切面机制 + 关键方法注解 | 🟢 | M8-02 | Java 操作入库、trace 串联 | 14 §8;机制✔ + data-transmission✔;**tl-control 15C/90法 + business 24C/121法 已贴 @OperateLog + 装三件套(G3-2),编译 BUILD SUCCESS;真入库待 Kafka+oplog 运行验** | ✔ | | M8-04 | C# 组件 Aivfo.OperationLog | ☑ | M8-02 | 组件可复用 | 14 §9;P3a 端到端✔ | ✔ | | M8-05 | C# 全埋 operate + front | 🔶 | M8-04 | 操作全覆盖 | 14 §2/9;operate 边界埋点✔ + **front 接入✔(C5)**;**operate 逐方法手埋 待** | ✔ | | M8-06 | 可配置 + 配置集中下发 / 本地兜底补送 | 🔶 | M8-03,M8-05 | 配置热生效 | 14 §10;组件开关✔ + 规约✔;**§10 集中下发/补送 待(C4)** | ✔ | **M8 总评**:🔶 机制全 + front 接入本会话补齐;operate 逐方法/Java(tl-control/business) 埋点、配置下发(C4) 仍欠账。 --- ## 剩余工作总览(本会话后仍未完成项 → 详见《当前开发计划》) > 详细分组任务(目标/涉及文件/验收/真机门控)见 `开发计划/2026-06-20-当前开发计划.md`(Phase B 建立后由本表引用)。下列为指针。 - **G1 串口收尾**:T1.4 真机验证(借用→暂停→调试复用句柄→归还恢复,不报端口占用,需 GUI);ComBin 枚举阶段迁移去重(B 栈枚举阶段未迁移、未全删,迁移后真机验);写 EEPROM 调试动作补全(待 V-010 真机)。 - **G2 UI**:首页舱室弹框位置/大小修复;M4 13 子页自适应(去写死像素 + Viewbox);TabTip 程序级屏蔽;well 三态色彩。 - **G3 日志铺开**:operate 逐方法埋点;Java(tl-control/business)埋点;M8 §10 配置集中下发 / 本地兜底补送(C4)。 - **G4 对焦/数据**:对焦标定清理任务(C6);建库脚本与 migration 合并 + 幂等 runner(C2);本地 SQLite 列迁移(V-046)。 - **G5 业务回归 / 真机验收**:M6 业务回归;M7 真机验收(按待验证清单逐条,含 operate 完整 GUI 业务流程、对焦实拍、首页舱室弹框、M4 子页自适应视觉)。 > **真机门控**:G1 的 T1.4、G2 全部、G4 的对焦实拍、G5 全部需连下位机 + GUI 才能验收(见待验证清单 V-129~V-134)。