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

2.7 KiB
Raw Blame History

招投标信息维护实施记录

本次改动

  • 将信息维护下“采购交易管理”改为“招投标信息维护”,保留原有 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 进程。
  • 已停止测试期间启动的后端进程。