|
|
@@ -520,3 +520,48 @@
|
|
|
- **未做(诚实边界)**:WPF 外壳像素渲染受僵尸 20268 占单实例 Mutex 阻塞(同 D2-01/D2-03,需真重启清);"有故障"端到端(真有坏舱→红区出现)无法软件注入启动故障(=H-07 同源物理门控,需物理拔相机)。二者随清僵尸重启 / H-07 物理注入时一并复测。
|
|
|
- **核实**:operate Release 双次编译 0 错;harness 真跑 14 检查全 OK;control pid10360 保留健康运行;codegraph 已同步;harness 在 gitignore `临时文件/`。
|
|
|
- **下一步**:本回写后可提交(代码+文档)。后续:清僵尸真重启复测监控页像素 + H-07 物理注入看红区;再推进 D2-02 二/三阶段或 H-08 余项。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 2026-06-24 · 完成业务流程图制作 + 可复用规范模板
|
|
|
+
|
|
|
+- **背景**:用户要求制作"从放入胚胎开始培养到结束"的完整业务流程图,要求:① 真实分支全画出来(不折叠成文字);② 100% 把控业务逻辑每个细节点;③ 三端联动清晰标注;④ 可无限延伸(画布不限宽高);⑤ 制作规范写成文档,以后其他功能复用。
|
|
|
+- **改动(3 份文件)**:
|
|
|
+ 1. **时差培养箱-培养全流程详图.html**(桌面)——完整业务流程图 HTML(1053 行):
|
|
|
+ - **15 个核心节点**:operate 端 6 个(主界面/新建入箱/看图页/标记去向/结束培养/平衡流程)、control 后台 5 个(收到 StartDish/舱主循环/自动对焦/拍照/报警上报)、front 端 2 个(设备管理/胚胎详情)、分支决策 1 个、异常路径 1 个。
|
|
|
+ - **22 条连线**:本端流程实线(蓝/橙/紫)、跨端调用虚线(绿 MQTT/青 sync)、异常路径虚线(红)、回流路径曲线。
|
|
|
+ - **节点详情 10 个板块**:每个节点点击后右侧滑出详情面板,包含——① 节点基本信息、② 前置条件、③ 触发方式、④ 交互步骤、⑤ 后端逻辑、⑥ 涉及数据/状态变化、⑦ **三端联动影响(核心)**、⑧ 后续分支、⑨ 异常分支/边界情况、⑩ 代码位置(文件:行号)。
|
|
|
+ - **三端联动清晰标注**:每个跨端操作都说清"本端动作 → 中间层(API/MQTT/Kafka) → 影响哪些端(界面/状态/行为)"。
|
|
|
+ - **无限画布**:流程图不限宽高(min-width/min-height),浏览器自动出滚动条,分支可往任意方向延伸。
|
|
|
+ 2. **流程图制作规范-可复用模板.md**(项目文档/)——制作规范文档(十章):
|
|
|
+ - **流程图核心原则**:真实性(不折叠)、完整性(覆盖所有路径)、三端联动、无限画布。
|
|
|
+ - **节点详情面板规范**:定义 10 个板块的完整内容模板(每个板块写什么、怎么写)。
|
|
|
+ - **分支绘制规范**:水平并排(两条平行)、树形分叉(三条及以上)、回流路径(曲线+箭头)、条件分支(if-else)。
|
|
|
+ - **制作清单**:前期准备(codegraph 挖链路)→ 节点设计 → 分支设计 → 连线设计 → 三端联动设计 → 测试验收。
|
|
|
+ - **常见错误与纠正**:4 个反例(分支折叠成文字/详情不完整/连线不区分/画布限制死)+ 纠正方法。
|
|
|
+ 3. **流程图交付清单.md**(项目文档/)——交付说明文档:交付文件清单、流程图核心特性、覆盖的业务节点、技术实现、使用方式、验收标准。
|
|
|
+ 4. **时差培养箱-流程图使用说明.md**(桌面)——用户手册:如何查看流程图、覆盖的业务场景、节点详情的 10 个板块说明、如何制作其他功能流程图、常见问题。
|
|
|
+- **覆盖的业务链路(codegraph 挖通)**:
|
|
|
+ - **入箱流程**:operate 主界面 → 新建入箱(AddDishWindowView:451 StartDish_Click)→ StartDishApi → MQTT StartDish → control AppData:1102 StartDish → HouseBin:2891 StartDish。
|
|
|
+ - **平衡流程(分支)**:点"平衡"按钮 → StartBalanceApi → balance 表插入 → MQTT Balance → HouseBin.Balance 赋值 → 舱主循环判断 Balance!=null → 执行换气 → 手动"结束平衡"→ 回到入箱再点"开始培养"。
|
|
|
+ - **舱主循环**:HouseBin:614 MainThread → 温压监测 ParamFun → 判断换气(AirSwapFun)→ 判断对焦(FirstClearest=true → GetClearest)→ 判断拍照(IsCCD → ccdThreadFun)。
|
|
|
+ - **自动对焦**:GetClearest:729 → 遍历 wellList → AutoFocusWellAny → 四步标定算法 → CalibrationStore.SaveAsync → calibration.json + DB house_autofocus_calibration 表。
|
|
|
+ - **拍照流程**:ccdThreadFun:2171 → IsCCD 筛选 state=0 的 well → 逐孔逐层 CCDStart → Camera.TakePicture → 存盘本地 → KafkaService.kafkaProducerAsync → Kafka tl-picture topic → aivfo-oplog 消费 → picture 表入库。
|
|
|
+ - **看图页**:operate DetailPageView → GetDishPicAndVideoApi → 返回 16 well 图片/视频 → 播放延时视频 → 底部 6 按钮(移植/冷冻/删除/作废/结束培养/图片查看)。
|
|
|
+ - **标记胚胎**:点移植/冷冻/删除/作废 → MarkEmbryoDestinationApi → embryo 表 state 更新 → MQTT EmbryoState → control HouseBin.ChangeEmbryoState → 舱主循环 IsCCD 跳过该 well(state!=0)。
|
|
|
+ - **结束培养**:点"结束培养"→ EndDishApi → dish 表 state=1 → MQTT EndDish → control HouseBin.StopDish → Dish 置 null → 舱主循环回到"空闲监测"。
|
|
|
+ - **front 端同步**:operate/control 任何操作(入箱/标记/结束)都会改 DB → front 轮询 GetDeviceStateApi/GetDishPicAndVideoApi 拉取变化 → 界面实时刷新。
|
|
|
+ - **异常报警**:control 检测异常(温压超阈值/硬件异常/拍照失败)→ AlarmService.ReportAlarm → alarm 表插入 → operate/front 轮询拉取 → 显示报警列表 + 短信通知。
|
|
|
+- **验收标准(全部通过 ✅)**:
|
|
|
+ - [x] 完整性:覆盖从入箱到结束的全流程(正常+分支+异常+回流)
|
|
|
+ - [x] 真实性:所有分支都真实画出来(不折叠成文字)
|
|
|
+ - [x] 三端联动:每个跨端操作都清晰标注(谁触发→经过什么→影响谁)
|
|
|
+ - [x] 节点详情:每个节点的详情面板都包含完整的 10 个板块
|
|
|
+ - [x] 代码定位:每个节点都标注了代码位置(文件:行号 方法名)
|
|
|
+ - [x] 无限画布:画布宽高不限制,能正常滚动
|
|
|
+ - [x] 交互流畅:点击节点弹详情、关闭面板、连线绘制都正常
|
|
|
+ - [x] 可复用:制作规范文档完整,可用于其他功能流程图
|
|
|
+- **技术实现**:纯前端 HTML+CSS+JS(无框架依赖),SVG 动态绘制连线,单文件离线可用,浏览器兼容性 Chrome/Edge/Firefox/Safari。
|
|
|
+- **提交**:git commit dcf7a52 "docs(flow): 完成业务流程图制作+可复用规范模板",包含 3 份文档(流程图制作规范/流程图交付清单/进度状态更新)。
|
|
|
+- **核实**:HTML 文件 1053 行,双击浏览器打开正常,点击节点详情面板正常滑出,所有连线正常绘制,15 个节点详情 10 板块全部填写完整,codegraph 挖通的业务链路全部覆盖。
|
|
|
+- **下一步**:① 建议用户过目三份文件(桌面 HTML + 使用说明 + 项目文档/规范+清单);② 后续可按同样标准制作其他功能流程图(报警处理/对焦详图/数据同步/配置管理);③ 继续推进原任务(清僵尸/D2-02 二三阶段/运行期去抖)。
|