Files
vd_test_fixture/docs/reports/weekly-2026-06-05.md

109 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# V2.0.4 周报 — 车检器测试工装项目
**报告周期**2026年6月1日 ~ 6月5日
**项目**vd_test_fixture车检器自动化测试工装
**作者**wangfq
---
## 一、概述
本周完成 V2.0.3 波动测试模式全链路实现、继电器状态存储重构、测试操作/信息页面多项增强,以及若干关键 Bug 修复。共提交 **24 个 commits**(主仓库 19 + edc_server 子模块 4 + edc-web 1
---
## 二、波动测试模式V2.0.3
### 2.1 协议文档
- DG430 串口协议升级至 V2.0.3
- 扩展 0x4B/0x4C 字段:新增 FarTol、NearTol、StepTol、BackForth、NearStay、FarStay6 个波动参数)
- 新增 0xB4 波动测试上报指令定义
- 第 6 章拆分为 6.1 灵敏度测试流程 + 6.2~6.4 波动测试流程
### 2.2 后端 edc_server
| 模块 | 变更 |
|------|------|
| `dg430.py` | 新增 `DG430WaveStatus` dataclass、`parse_b4_wave_status()` 解析器;扩展 `DG430FixtureParams` + `parse_4c_params()` 支持 6 个新字段 |
| `models.py` | DDL 增加 10 个新列test_mode、data_source、remain_count、work_freq、b4_enter_dist 等);新增 `insert_wave_data()` 存库函数ALTER TABLE 自动迁移逻辑 |
| `handlers.py` | parse_loop 增加 0xB4 分支波动数据路由入库0x4C 处理传递新参数字段 |
### 2.3 前端 edc-web
- **工装参数页**:表单增加 6 个波动参数输入框JS 适配新字段
- **测试操作页**:右侧新增「波动测试数据」显示区,实时展示 B4 上报数据
- **测试信息页**:拆为三视图标签页(全部/灵敏度测试 B2/波动测试 B4`data_source` 自动切换列布局
- 波动测试数据支持 Excel 导出
---
## 三、继电器输出状态重构
### 3.1 存储层
- `tb_state_tst` 新增 `relay_code TINYINT` 列,存储原始 hex 值
- `0x00` = 无输出,`0x01` = 存在信号,`0x02` = 脉冲信号,`0x03` = 存在+脉冲
- `relay_out` VARCHAR 列保留,兼容历史数据
- B2/B4 解析后直接以 int 值写入 `relay_code`
### 3.2 前端
- 新增 `decodeRelay()` 函数:整数 → 可读文本
- 测试操作页、测试信息页(表格视图)统一使用解码显示
- **图表视图**:新增第 4 Y 轴继电器输出红色三角阶梯线tooltip 自动解码
---
## 四、测试操作页面增强
| 功能 | 说明 |
|------|------|
| 自动化间隔/超时 | 新增间隔时间(秒)和超时时间(秒)参数;重写为状态机驱动,收到回复后等待间隔再发下一条,超时立即发下一条 |
| 渲染容错 | 每个 render 调用独立 try-catch避免一处报错级联导致全部数据显示失败 |
| 初始数据加载 | 页面打开时自动请求最新测试数据,无需等待启动自动化 |
| 时间格式统一 | 所有区域统一显示 `yyyy-MM-dd HH:mm:ss`,修复 Flask jsonify "GMT" 导致的 UTC+8 时区偏移 |
---
## 五、测试信息页面增强
| 功能 | 说明 |
|------|------|
| 三视图标签页 | 全部 / 灵敏度测试 (B2) / 波动测试 (B4),独立列布局 |
| ECharts 图表 | 表格/图表一键切换B2 显示 8 条线(峰峰值/频率/距离/速度B4 显示 7+1 条线(含继电器),三 Y 轴dataZoom 缩放,保存为 2x PNG |
| 分页条数 | 搜索栏增加「每页20/50/100」下拉框 |
| Admin 删除 | 仅 admin 可见,按设备编码/日期范围/数据来源筛选删除,确认框防误删,`tb_log` 留痕 |
---
## 六、Bug 修复
| 问题 | 根因 | 修复 |
|------|------|------|
| FarStay 字段长度 | 用户纠正NearStay 和 FarStay 均为 2 字节 | 全量回退 1 字节改动,恢复协议+代码 2 字节设计 |
| 数据库缺列 | 旧表缺少 V2.0.3 新增字段 | 服务启动时 ALTER TABLE ADD COLUMN IF NOT EXISTS 自动迁移 |
| 时间显示偏移 8 小时 | Flask jsonify 给本地时间加 "GMT" 后缀JS 误当 UTC 解析 | `fmtTime()` 先 strip "GMT" 再解析 |
| 测试操作三个数据区不显示 | pollProgress 共用一个 try-catch一处报错跳过后续渲染全部完成时 return 跳过最终渲染 | 独立 try-catch渲染代码移到 return 之前 |
| 自动化平均值/明细不显示 | 同上(渲染代码在 return 之后) | 同上 |
---
## 七、Git 提交统计
**主仓库**vd_test_fixture19 commits
**子模块**edc_server4 commits
**合计**23 commits
| 日期 | 主题 |
|------|------|
| 6/1 | 培训手册 V1.0、精简 requirements.txt |
| 6/2 | DG430 V2.0.3 协议文档、后端实现、前端同步、ALTER TABLE 迁移 |
| 6/3 | FarStay 字节修正、波动测试前端适配、三视图重构 |
| 6/4 | 自动化间隔/超时、协议文档补充灵敏度流程 |
| 6/5 | 时间格式化、分页条数、ECharts 图表、图表保存图片、admin 删除、继电器重构、时区修复、渲染容错、图表继电器系列 |
---
## 八、待办事项
- [ ] 重启 edc_server 使数据库迁移和新字段生效
- [ ] edc-web 重启(用户已手动停止)
- [ ] 端到端测试完整波动测试流程(参数设置 → 查询 → 执行 → B4 上报 → 前端展示)
- [ ] 验证图表功能在不同数据量下的表现