47 lines
2.4 KiB
Markdown
47 lines
2.4 KiB
Markdown
|
|
# 2026-04-22 招投标导入失败展示增强实施记录
|
||
|
|
|
||
|
|
## 1. 本次变更
|
||
|
|
|
||
|
|
- 招投标导入失败记录新增失败来源 `Sheet`
|
||
|
|
- 招投标导入失败记录新增 Excel 失败行号
|
||
|
|
- 招投标信息维护页面失败弹窗新增 `失败Sheet`、`失败行号` 展示列
|
||
|
|
|
||
|
|
## 2. 文档落点确认
|
||
|
|
|
||
|
|
- 后端实施计划:`/Users/wkc/Desktop/ccdi/ccdi/docs/plans/backend/2026-04-22-bidding-import-failure-display-backend-implementation.md`
|
||
|
|
- 前端实施计划:`/Users/wkc/Desktop/ccdi/ccdi/docs/plans/frontend/2026-04-22-bidding-import-failure-display-frontend-implementation.md`
|
||
|
|
- 实施记录:`/Users/wkc/Desktop/ccdi/ccdi/docs/reports/implementation/2026-04-22-bidding-import-failure-display-implementation.md`
|
||
|
|
|
||
|
|
## 3. 实施内容
|
||
|
|
|
||
|
|
- 在后端失败记录 VO 中新增 `sheetName`、`sheetRowNum`
|
||
|
|
- 在导入服务中为主信息、供应商明细两类导入行建立行号上下文
|
||
|
|
- 在主信息校验失败、供应商校验失败、主从关系失败等场景下统一返回失败来源 Sheet 与行号
|
||
|
|
- 在前端失败弹窗中新增 `失败Sheet`、`失败行号` 列,直接展示后端返回值
|
||
|
|
|
||
|
|
## 4. 预期验证点
|
||
|
|
|
||
|
|
- 主信息失败记录显示 `招投标主信息`
|
||
|
|
- 供应商失败记录显示 `供应商明细`
|
||
|
|
- 失败行号与 Excel 实际数据行一致
|
||
|
|
- 同一失败由多行触发时,页面可直接展示合并行号
|
||
|
|
|
||
|
|
## 5. 实际验证结果
|
||
|
|
|
||
|
|
- 后端执行 `mvn -pl ccdi-info-collection -am compile -DskipTests` 编译通过
|
||
|
|
- 后端通过 `bin/restart_java_backend.sh` 完成重启,前端通过 `nvm use` 后启动真实页面进行验证
|
||
|
|
- 在真实页面上传 `bidding_import_structure.xlsx` 后,导入任务 `f1026563-4bf3-4f1d-ae27-d3f9623547f4` 成功生成失败记录
|
||
|
|
- 页面“查看导入失败记录”弹窗已展示以下表头:
|
||
|
|
- `失败Sheet`
|
||
|
|
- `失败行号`
|
||
|
|
- `采购事项ID`
|
||
|
|
- `项目名称`
|
||
|
|
- `标的物名称`
|
||
|
|
- `失败原因`
|
||
|
|
- 真实页面已验证的失败展示样例:
|
||
|
|
- `供应商明细 | 第8行 | 供应商明细Sheet中的采购事项ID不能为空`
|
||
|
|
- `招投标主信息 | 第2行 | 采购事项ID[LSFXMOCKP2PUR001]已存在,请勿重复导入`
|
||
|
|
- `招投标主信息 | 第3、4行 | 采购事项ID[IMPCOV20260422154511STR03]在招投标主信息Sheet中重复`
|
||
|
|
- `供应商明细 | 第4、5行 | 采购事项ID[IMPCOV20260422154511STR02]缺少招投标主信息`
|
||
|
|
- 本次验证样本未产生成功导入数据,无需额外回滚业务数据
|