# 失效案例库

> 试验二科测试进度记录里的失效相关委托：每一条委托记录即一个案例，按**测试项目**归类。
> 最后更新：2026-11-05（数据覆盖 2026-01 — 2026-11 月初）

## 一、这个库是什么

| 项 | 内容 |
|---|---|
| 数据来源 | `失效案例库.txt`（试验二科测试进度表导出件，UTF-16 LE 带 BOM，制表符分隔） |
| 记录数 | **93 条案例** |
| 归类方式 | 按「测试项目」分：温升 77 / EMC 14 / 特性曲线 1 / 电缆弯曲 1 |
| 测试结果 | 不合格 57 / 余量小 21 / 待定 13 / 其他（“/”）2 |
| 用途 | 失效案例检索与归口分析；给质量月会和得帆 RAG 问答供数 |

每条记录都是一份独立案例，点开即可看该单的完整字段：合同来源、合同编号、委托部门、委托人、样机型号、数量、测试项目、测试目的、流程日期、测试人员、进度、预计/实际完成、报告编号、测试结果、绩效天数、备注。

**每条案例已补三个“案例库”字段**（让库真正能“从一次不合格找到原因、以后规避”）：

- `phenom` 失效现象：该单测试项目 + 结果的工程化描述（如“温升试验超差：绕组/外壳温升超过标准限值”）。
- `cause` 原因分析：按「测试项目 × 结果」从 `case_reasons.py` 的原因库里取一条工程上合理的根因，并结合「测试目的」给出语境（新品评估/结构改进/月度抽样/出货评估/验证对比）。
- `avoid` 规避措施：按测试项目给出的设计/来料/工艺规避建议。

> ⚠️ 这些原因/措施是**推断的参考内容**，不是原始记录里的字段。团队应回查原始报告校正——校正结果可写回 `失效案例库.txt` 的备注列，或直接在 `case_reasons.py` 里改措辞，重跑 `python build.py` 即可刷新全部站点。

## 二、目录里有什么

```
失效案例库.txt       源数据（UTF-16 LE，制表符分隔）
build.py             解析脚本：txt → 查询数据/records.js
查询.html            离线查询页（双击即开，数据在 查询数据/ 内）
查询数据/records.js  解析后的结构化数据，查询页直接读它
README.md            本说明
```

## 三、现状（实测数字）

- 全部 93 条均发生在 2026 年（1—11 月），非完整年度。
- **按测试项目**：温升 77 条（占 83%），其中不合格 46、余量小 19、待定 10、其他 2；EMC 14 条（不合格 3、余量小 10、待定 1）；特性曲线 1（待定）；电缆弯曲 1（不合格）。
- **按测试结果**：不合格 57、余量小 21、待定 13、其他 2。温升是失效的高发区。
- 测试人员集中在印海华（温升）与胡云海（EMC）；委托部门以技术工程科、OEM 组、工具电机组为主。

## 四、怎么用查询页

`查询.html` 双击即开，只查本项目（数据在 `查询数据/`，离线可用）：

- **顶部 Tab** 按测试项目切换：全部 / 温升 / EMC / 特性曲线 / 电缆弯曲，Tab 上带各项目计数。
- **搜索框** 支持型号、报告编号、合同编号、委托人、部门、备注，空格分词、可省连字符（如 `FF100A` 能命中 `Z1C-FF05-26`）。
- **筛选 chips** 按测试结果（不合格/余量小/待定/—）、委托部门、合同来源。
- **点任意一行** 展开该案例的完整字段。

## 五、怎么重建 / 更新数据

把新的导出件覆盖 `失效案例库.txt`，重跑：

```bash
python build.py
```

脚本会按 BOM 自动判定编码（UTF-16 LE / UTF-8 / GBK），重新生成 `查询数据/records.js`，查询页无需改动。

## 六、接入 gongchengbu 站点

失效案例库有两处入口，都指向同一份数据：

1. **独立案例站** `company/gongchengbu/知识库/失效案例库/`：本库的同步副本（`查询.html` + `查询数据/records.js`），按测试项目 Tab 切换。
2. **统一查询页** `company/gongchengbu/知识库/query/index.html?scope=cases`：并进工程部统一数据查询页，作为第四个 Tab「失效案例」，与型号库/测试记录库/标准库并列，支持跨库关联（案例详情里可跳原始委托记录）。

`build.py` 一次性产出三份数据：本目录 `查询数据/records.js`、独立站副本 `records.js`、以及统一查询页的 `query/data/cases.js`。所以**更新源数据后只需重跑 `python build.py`**（若要连型号/标准一起刷新，再跑一次 `python company/gongchengbu/knowledge/tools/build_kb_data.py`，它也会重新生成 `cases.js`）。
