Files
ccdi/docs/reports/implementation/2026-04-22-bidding-info-maintenance-implementation.md

48 lines
2.7 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.
# 招投标信息维护实施记录
## 本次改动
- 将信息维护下“采购交易管理”改为“招投标信息维护”,保留原有 `purchaseTransaction` 技术标识。
- 新增供应商明细子表 `ccdi_purchase_transaction_supplier`,支持维护全部参标供应商,并使用 `is_bid_winner` 标记中标方。
- 主表继续保留中标供应商摘要字段,新增/修改/导入时从供应商明细自动回填。
- 列表查询新增供应商数聚合;详情查询和项目专项核查采购详情新增供应商明细返回。
- 导入模板改为“招投标主信息 + 供应商明细”双 Sheet并按 `purchaseId` 聚合校验。
- 前端页面改造为多供应商明细表单,详情弹窗与项目详情弹窗改为供应商明细表展示。
## 关键文件
- 后端
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiPurchaseTransactionServiceImpl.java`
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiPurchaseTransactionImportServiceImpl.java`
- `ccdi-info-collection/src/main/resources/mapper/info/collection/CcdiPurchaseTransactionMapper.xml`
- `ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectSpecialCheckMapper.xml`
- 前端
- `ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`
- `ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedPurchaseDetailDialog.vue`
- SQL
- `sql/ccdi_purchase_transaction.sql`
- `sql/ccdi_purchase_transaction_menu.sql`
- `sql/migration/2026-04-22-bidding-info-maintenance-supplier-detail.sql`
## 验证结果
- 后端编译
- 命令:`mvn -pl ccdi-info-collection,ccdi-project -am -DskipTests compile`
- 结果:通过。
- 前端构建
- 命令:`source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod`
- 结果:通过,仅有既有产物体积 warning。
- 数据迁移
- 命令:`bin/mysql_utf8_exec.sh sql/migration/2026-04-22-bidding-info-maintenance-supplier-detail.sql`
- 结果:执行成功,本地联调库菜单名已更新为“招投标信息维护”。
- Playwright 实页验证
- 验证页面:`http://localhost:8080/maintain/purchaseTransaction`
- 结果:
- 菜单与面包屑显示“招投标信息维护”
- 列表显示“中标供应商”“参与供应商数”
- 新增弹窗显示供应商明细表,并可新增供应商行
- 详情弹窗显示供应商明细表与中标标识
- 联调过程中发现列表 SQL 因 join 后字段未加别名导致 `purchase_id is ambiguous`,已修复并复验通过。
## 测试进程清理
- 已关闭 Playwright 浏览器会话。
- 已停止前端 `npm run dev` 进程。
- 已停止测试期间启动的后端进程。