| # | 问题 | 根因 |
|---|---|---|
| 1 | 为什么人工确认 + 展示不行 | AI 判定有 5 类放不行的结论(无合适模板 / 需结构归一即合并单元格·多级表头 / 模型未给出列绑定 / 置信度不达标 / token 预算耗尽),原因已落库但界面只平铺行,多了没法看 |
| 2 | 确认一个其他丢了吗 | 数据没丢(ai_clean_job status=NEED_REVIEW 永久保存),但没有按案件查询待人工清单的接口,跳去清洗页后界面就"看不见"了;SUPERSEDED 枚举从无写入 |
| 3 | 人工确认页无数据 | cleanProgress 融合模式删掉 sessionStorage 文件树,而清洗页建树只读 sessionStorage、零后端兜底,树空在消费 focusKey 前就 return |
| 4 | 细节 bug | ① Skip 计数与明细不符 ② /aiClean/jobs 无 caseId 隔离 ③ 重跑会重判所有待人工 job ④ NeedReviewItem 缺 jobId/fileId ⑤ 「去人工确认」跳转没带 redirect |
GET /aiClean/review/list:按上下文案件查 NEED_REVIEW job,返回 jobId/fileId/sheetId/文件名/sheet 名/原因/置信度/时间。GET /aiClean/review/detail?jobId=:单条详情——VerifyReport(列绑定/逐列错误率/被拒列/预览 5 行)+ 模型草稿 + 置信度 + 模型名/token。POST /aiClean/review/resolve:批量置 SUPERSEDED;doClean 成功回调加钩子 markSupersededBySheet(任何清洗入口成功即自动消项)。POST /aiClean/review/rejudge?jobId=:单条重新 AI 判定(复用 AiCleanService.run,允许 NEED_REVIEW/SKIP/FAIL,线程带案件上下文)。prepareJob 跳过 status=NEED_REVIEW 的 job(不重判)。/aiClean/jobs 加 caseId 过滤;/dm/getFiles 支持 batchId 过滤。/dm/getFiles 重建树、定位文件根只放该文件子树,再走 focusKey 定位/预览(修复问题 3)。周海--车辆登记信息.xls(5.6KB,sheet「机动车信息」模板匹配失败)→ AI 判定 → 待人工路径周海--通信18905810269.xls(92KB,通信记录可匹配模板)→ 系统既有清洗路径一、上传解析:① 上传 A → 树出现、模板匹配失败、智能可用 ② 上传 B → 匹配模板成功 ③ A+B 同批 → 各自状态正确 ④ 重复上传 A(MD5 已还原)→ 跳过解析(原行为回归) 二、AI 路径(A 单独):⑤ 智能 → AI 卡判定 0/1→1/1 ⑥ 结论=待人工、失败 0 ⑦ 处理日志两条记录正确 ⑧ 卡内 ≤3 条+抽屉+原因文案 ⑨ 详情弹窗四块内容齐全 ⑩ AI 重新判定跑通且结果刷新 三、既有路径(B 单独):⑪ 无 AI 表 → doClean 推进 → 环形到 100% → 完成态 ⑫ 业务表入库数据验证 四、混合批次:⑬ A+B 智能清洗 → B 交既有清洗一次 doClean、A 待人工、批次 DONE ⑭ B 已入库、A 待人工互不影响 五、待人工闭环(核心):⑮ 去人工确认 → 清洗页有树有预览(问题 3 验证)⑯ 清洗页清单可见含原因 ⑰ 清单「处理」→ 树定位+选中 ⑱ 配规则导入 → 只洗该表 → 清单自动消项 ⑲ 多文件场景其余待人工不丢 ⑳ 清洗页内详情弹窗可用 ㉑ 清洗页内 AI 重新判定可用 六、旧入口回归:㉒ 上传页行级手动清洗 ㉓ 上传页整页手动清洗 ㉔ importList 重新清洗(reClean=1&fileId)㉕ 进度页「改为手动清洗」按 batchId 兜底建树 七、细节修复验证:㉖ Skip 入清单且计数一致 ㉗ /aiClean/jobs 案件隔离 ㉘ 重跑智能清洗不重判待人工(日志验证)㉙ 重判后命中模板 → dispatchExisting 路径 ㉚ SSE 断连/页面刷新恢复回归
每条记录:操作步骤 → 预期 → 实际 → 截图;发现 bug 即修复并重跑该条 + 相关回归条目;全部勾选后才算完成。