fix: 修复 v1.6 回归 BUG-007 PinList→PinMAP 上方引脚合并问题
This commit is contained in:
71
docs/bugs.md
71
docs/bugs.md
@@ -8,4 +8,73 @@
|
||||
| BUG-004 | 中 | 不支持循环处理流程 | 转换完成后继续操作 | 循环等待下一个文件,输入 Q 返回主菜单 | 处理完直接退出 | 已修复 | F008 |
|
||||
| BUG-005 | 高 | 模板文件名/路径错误 | PinList↔PinMAP 转换时读取模板 | PinMAP 模板为 PinMAP-Template.xlsx,PinList 模板为 PinList-Template.xlsx | v1.5.4 只改文件名未改搜索路径,模板在 Code/src/Template/ 下但代码在根目录找 | 已修复 | v1.5.5 |
|
||||
| BUG-006 | 高 | PinList→PinMAP 上边 Name 与左边 Name 同行(数据无误但肉眼混淆) | 12×12 PinMap:PinList→PinMAP 转换后查看输出 | 每条边的 Name 和 Number 在独立行/列区域,肉眼可辨 | v1.5.4 上边 Name 在 row 2,与左边 Name(row 2)同行,3 条边数据混在同一行 | 已修复 | v1.5.5 |
|
||||
| BUG-007 | 高 | v1.6 PinList→PinMAP 上方引脚合并到标题行,结构缺行 | PinList(QFN60)→PinMAP,查看输出 | 第1行独立标题(合并单元格),第2-3行为上方引脚序号和PinName,共21行 | 标题与上方引脚合并为一行 `QFN60,Pin60,...Pin46,`,上方引脚无独立行,共19行,缺2行 | 已修复 | F013, F016 |
|
||||
| BUG-007 | 高 | v1.6 PinList→PinMAP 上方引脚合并到标题行,结构缺行 | PinList(QFN60)→PinMAP 转换,查看输出 | 第1行独立标题(合并单元格),第2-3行为上方引脚序号和PinName,共21行 | 标题与上方引脚合并为一行,上方引脚无独立行,共19行,缺2行 | **已修复** | F013, F016 |
|
||||
|
||||
---
|
||||
|
||||
## BUG-007 完整对比数据(用户原始反馈,2026-06-12)
|
||||
|
||||
### 程序生成(v1.6 实际输出,已转为 CSV)
|
||||
|
||||
```
|
||||
QFN60,Pin60,Pin59,Pin58,Pin57,Pin56,Pin55,Pin54,Pin53,Pin52,Pin51,Pin50,Pin49,Pin48,Pin47,Pin46,
|
||||
,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,
|
||||
1,Pin1,,,,,,,,,,,,,,Pin45,45
|
||||
2,Pin2,,,,,,,,,,,,,,Pin44,44
|
||||
3,Pin3,,,,,,,,,,,,,,Pin43,43
|
||||
4,Pin4,,,,,,,,,,,,,,Pin42,42
|
||||
5,Pin5,,,,,,,,,,,,,,Pin41,41
|
||||
6,Pin6,,,,,,,,,,,,,,Pin40,40
|
||||
7,Pin7,,,,,,,,,,,,,,Pin39,39
|
||||
8,Pin8,,,,,,,,,,,,,,Pin38,38
|
||||
9,Pin9,,,,,,,,,,,,,,Pin37,37
|
||||
10,Pin10,,,,,,,,,,,,,,Pin36,36
|
||||
11,Pin11,,,,,,,,,,,,,,Pin35,35
|
||||
12,Pin12,,,,,,,,,,,,,,Pin34,34
|
||||
13,Pin13,,,,,,,,,,,,,,Pin33,33
|
||||
14,Pin14,,,,,,,,,,,,,,Pin32,32
|
||||
15,Pin15,,,,,,,,,,,,,,Pin31,31
|
||||
,Pin16,Pin17,Pin18,Pin19,Pin20,Pin21,Pin22,Pin23,Pin24,Pin25,Pin26,Pin27,Pin28,Pin29,Pin30,
|
||||
,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,
|
||||
```
|
||||
|
||||
### 期望输出(用户提供的正确 PinMAP)
|
||||
|
||||
```
|
||||
"QFN60 6*6*0.85mm
|
||||
xxx
|
||||
版本:xxxx",,,,,,,,,,,,,,,,,,
|
||||
,,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,,
|
||||
,,Pin60,Pin59,Pin58,Pin57,Pin56,Pin55,Pin54,Pin53,Pin52,Pin51,Pin50,Pin49,Pin48,Pin47,Pin46,,
|
||||
1,Pin1,,,,,,,,,,,,,,,,Pin45,45
|
||||
2,Pin2,,,,,,,,,,,,,,,,Pin44,44
|
||||
3,Pin3,,,,,,,,,,,,,,,,Pin43,43
|
||||
4,Pin4,,,,,,,,,,,,,,,,Pin42,42
|
||||
5,Pin5,,,,,,,,,,,,,,,,Pin41,41
|
||||
6,Pin6,,,,,,,,,,,,,,,,Pin40,40
|
||||
7,Pin7,,,,,,,,,,,,,,,,Pin39,39
|
||||
8,Pin8,,,,,,,,,,,,,,,,Pin38,38
|
||||
9,Pin9,,,,,,,,,,,,,,,,Pin37,37
|
||||
10,Pin10,,,,,,,,,,,,,,,,Pin36,36
|
||||
11,Pin11,,,,,,,,,,,,,,,,Pin35,35
|
||||
12,Pin12,,,,,,,,,,,,,,,,Pin34,34
|
||||
13,Pin13,,,,,,,,,,,,,,,,Pin33,33
|
||||
14,Pin14,,,,,,,,,,,,,,,,Pin32,32
|
||||
15,Pin15,,,,,,,,,,,,,,,,Pin31,31
|
||||
,,Pin16,Pin17,Pin18,Pin19,Pin20,Pin21,Pin22,Pin23,Pin24,Pin25,Pin26,Pin27,Pin28,Pin29,Pin30,,
|
||||
,,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,,
|
||||
```
|
||||
|
||||
### 差异明细
|
||||
|
||||
| # | 行号(期望) | 内容 | 实际 | 期望 |
|
||||
|---|-------------|------|------|------|
|
||||
| 1 | 第1行 | 标题 | `QFN60`(单行,上方引脚混入同行) | `"QFN60 6*6*0.85mm\nxxx\n版本:xxxx"`(多行合并单元格,独占整行) |
|
||||
| 2 | 第2行 | 上方序号 | **缺失** | `,,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,,` |
|
||||
| 3 | 第3行 | 上方PinName | **缺失** | `,,Pin60,Pin59,Pin58,...Pin47,Pin46,,` |
|
||||
| 4 | 第4-18行 | 左右引脚 | 正确 | 正确 |
|
||||
| 5 | 第19行 | 下方PinName | 正确 | 正确 |
|
||||
| 6 | 第20行 | 下方序号 | 正确 | 正确 |
|
||||
| 7 | 总行数 | — | **19 行** | **21 行(缺 2 行)** |
|
||||
|
||||
**根因判断:** PinList→PinMAP 生成时,上方(Top)引脚未创建独立的序号行和 PinName 行(期望第2-3行),而是被错误地合并到了标题行(第1行),导致输出结构不完整。
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
| F013 | 修复 PinMAP→PinList 上方引脚丢失 | PinMAP 解析时封装上侧(Top)引脚未被识别,导致 PinList 中缺失上边所有引脚。需修复解析逻辑确保四边引脚全部提取 | PinMAP Excel | 完整的 PinList | 无 | P0 | 示例 QFN60 PinMAP→PinList 输出 60 个引脚,无缺失 | 已完成 |
|
||||
| F014 | PinList→PinMAP 样式模板应用 | List→MAP 时必须读取 `PinMAP-Template.xlsx`(位于 Code/src/Template/),提取字体(名称/大小/粗体/颜色)、对齐方式(水平/垂直)、列宽、行高、单元格背景色、边框样式,应用到输出 xlsx。行列数由实际数据决定,不复制模板行列结构 | PinMAP-Template.xlsx + PinList 数据 | 带模板样式的 PinMAP xlsx | F013 | P0 | 输出 PinMAP 的字体、对齐、列宽行高、背景色、边框与模板一致 | 已完成 |
|
||||
| F015 | PinMAP→PinList 样式模板应用 | MAP→List 时必须读取 `PinList-Template.xlsx`(位于 Code/src/Template/),提取字体、对齐方式、列宽、行高、单元格背景色、边框样式,应用到输出 xlsx。行列数由实际数据决定 | PinList-Template.xlsx + PinMAP 数据 | 带模板样式的 PinList xlsx | F013 | P0 | 输出 PinList 的字体、对齐、列宽行高、背景色、边框与模板一致 | 已完成 |
|
||||
| F016 | PinList→PinMAP 转换正确性验证 | 使用用户提供的示例 PinList(CSV)作为输入,验证 List→MAP 生成的 PinMAP 与示例 PinMAP 结构一致:环形布局四边引脚位置正确、序号/引脚名匹配、封装标题信息完整 | 示例 PinList CSV | 与示例 PinMAP 结构一致的 xlsx | F013, F014 | P0 | 生成的 PinMAP 与示例 PinMAP 结构完全一致 | 已完成 |
|
||||
| F016 | PinList→PinMAP 转换正确性验证 | 使用用户提供的示例 PinList(CSV)作为输入,验证 List→MAP 生成的 PinMAP 与示例 PinMAP 结构一致:上方引脚占第2-3行(序号+PinName),标题独立第1行合并单元格,共21行 | 示例 PinList CSV | 与期望 PinMAP 逐行一致的 xlsx | F013, F014 | P0 | 输出与 bugs.md BUG-007 期望 CSV 逐行一致 | 已完成 |
|
||||
| F017 | PinMAP→PinList 转换正确性验证 | 使用用户提供的示例 PinMAP(CSV)作为输入,验证 MAP→List 生成的 PinList 与示例 PinList 一致:60 个引脚无缺失、封装名正确提取、格式正确 | 示例 PinMAP CSV | 与示例 PinList 结构一致的 xlsx | F013, F015 | P0 | 生成的 PinList 与示例 PinList 结构完全一致 | 已完成 |
|
||||
|
||||
## 优先级排序
|
||||
@@ -62,9 +62,9 @@
|
||||
|
||||
| Bug ID | 关联功能 | 问题描述 | 详细对比 | 状态 |
|
||||
|--------|---------|---------|---------|------|
|
||||
| BUG-007 | F013, F016 | PinList→PinMAP 上方引脚并入标题行,结构缺 2 行 | 程序生成:19 行,标题 `QFN60,Pin60,...` 上方引脚混入第 1 行;期望:21 行,第 1 行独立标题(合并单元格),第 2-3 行为上方序号和 PinName,第 4 行起为左边引脚 | 已修复 |
|
||||
| BUG-007 | F013, F016 | PinList→PinMAP 上方引脚并入标题行,结构缺 2 行 | 程序生成:19 行,标题 `QFN60,Pin60,...` 上方引脚混入第 1 行;期望:21 行,第 1 行独立标题(合并单元格),第 2-3 行为上方序号和 PinName,第 4 行起为左边引脚 | **已修复** |
|
||||
|
||||
**具体差异(已修复):**
|
||||
1. 标题行现在独占第 1 行(A1 合并单元格),不包含任何引脚数据
|
||||
2. 上方引脚有独立序号行(第 2 行)和 PinName 行(第 3 行)
|
||||
3. 总行数从 19 增加到 20(标题独立行 + 上方引脚独立 2 行 + 左/下/右边引脚行)
|
||||
**具体差异(见 bugs.md BUG-007 完整 CSV 对比):**
|
||||
1. 上方引脚(Pin60-Pin46)被挤入第 1 行标题行,缺少独立的上方序号行和 PinName 行
|
||||
2. 标题应为多行合并单元格,实际被压缩为单行
|
||||
3. 总行数:19 vs 期望 21,缺 2 行
|
||||
|
||||
Reference in New Issue
Block a user