修复历史项目导入解环与流水查询SQL
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
# 2026-03-29 历史项目导入功能测试记录
|
||||
|
||||
## 测试目标
|
||||
|
||||
- 按实施计划验证“项目管理 -> 导入历史项目”功能的真实链路
|
||||
- 通过浏览器、数据库、后端日志交叉确认以下能力:
|
||||
- 历史项目列表是否只展示已完成、已归档项目
|
||||
- 导入弹窗校验、项目创建、成功跳转是否正常
|
||||
- 异步历史导入是否生成文件记录与流水数据
|
||||
- 详情页上传记录是否展示来源信息、是否具备只读限制
|
||||
|
||||
## 测试环境
|
||||
|
||||
- 测试日期:2026-03-29
|
||||
- 前端地址:`http://127.0.0.1:1026`
|
||||
- 后端地址:`http://127.0.0.1:62318`
|
||||
- 数据库:`116.62.17.81:3307/ccdi`
|
||||
- 登录账号:`admin/admin123`
|
||||
|
||||
## 测试前检查
|
||||
|
||||
### 1. 默认启动失败
|
||||
|
||||
- 使用当前代码重新打包 `ruoyi-admin` 后,按默认参数启动后端,应用未能启动成功。
|
||||
- 日志报错为 Spring Bean 循环依赖:
|
||||
- `CcdiBankTagServiceImpl`
|
||||
- `CcdiProjectServiceImpl`
|
||||
- `CcdiProjectHistoryImportServiceImpl`
|
||||
- 结论:当前代码在默认配置下无法完成联调测试。
|
||||
|
||||
### 2. 为继续测试临时放开循环依赖
|
||||
|
||||
- 仅为继续验证后续功能,临时使用启动参数:
|
||||
|
||||
```bash
|
||||
java -jar ruoyi-admin/target/ruoyi-admin.jar --spring.main.allow-circular-references=true
|
||||
```
|
||||
|
||||
- 说明:以下浏览器与接口测试结果均建立在该临时启动参数下,不代表默认启动已通过。
|
||||
|
||||
### 3. 数据库结构预检查
|
||||
|
||||
- 执行 `SHOW COLUMNS FROM ccdi_file_upload_record;`
|
||||
- 结果:数据库中缺少以下字段:
|
||||
- `source_type`
|
||||
- `source_project_id`
|
||||
- `source_project_name`
|
||||
|
||||
## 浏览器测试记录
|
||||
|
||||
### 1. 历史项目弹窗与列表
|
||||
|
||||
- 登录后进入“初核项目管理”页面。
|
||||
- 点击快捷方式“导入历史项目”,弹窗可正常打开。
|
||||
- 弹窗中看到“新项目名称 / 备注 / 流水时间 / 历史项目列表”布局,符合计划描述。
|
||||
- 历史项目列表实际加载成功,只展示“已完成 / 已归档”项目。
|
||||
- 浏览器看到的历史项目样本包括:
|
||||
- `phase2联调验证-20260322-1`
|
||||
- `0320`
|
||||
- `测试0319`
|
||||
- `测试0323`
|
||||
|
||||
### 2. 表单校验
|
||||
|
||||
- 未选择历史项目直接点击“导入”,页面提示:`请选择历史项目`
|
||||
- 选择历史项目后,不填写新项目名称直接点击“导入”,页面提示:`请输入新项目名称`
|
||||
- 结论:前端最小校验生效。
|
||||
|
||||
### 3. 真实提交
|
||||
|
||||
- 选择历史项目:
|
||||
- `49 phase2联调验证-20260322-1`
|
||||
- `48 0320`
|
||||
- 填写:
|
||||
- 新项目名称:`自动测试-历史导入-20260329-1017`
|
||||
- 备注:`测试历史项目导入链路`
|
||||
- 流水时间:`2026-03-17` 至 `2026-03-18`
|
||||
- 点击“导入”后:
|
||||
- 页面提示:`历史项目导入任务已开始`
|
||||
- 自动跳转至详情页:`/ccdiProject/detail/57`
|
||||
- 新项目标题显示为 `自动测试-历史导入-20260329-1017`
|
||||
- 项目状态显示为 `进行中`
|
||||
- 上传记录列表显示 `暂无数据`
|
||||
|
||||
## 数据库验证
|
||||
|
||||
### 1. 历史项目样本确认
|
||||
|
||||
- 查询 `ccdi_file_upload_record` 后确认以下项目存在可用于导入的 `parsed_success` 记录:
|
||||
- `49 phase2联调验证-20260322-1`:`11` 条
|
||||
- `48 0320`:`9` 条
|
||||
- `46 测试0319`:`4` 条
|
||||
|
||||
### 2. 新项目创建结果
|
||||
|
||||
- 提交后数据库生成新项目:
|
||||
|
||||
```text
|
||||
project_id = 57
|
||||
project_name = 自动测试-历史导入-20260329-1017
|
||||
status = 0
|
||||
lsfx_project_id = 1001
|
||||
target_count = 0
|
||||
```
|
||||
|
||||
### 3. 导入结果落库检查
|
||||
|
||||
- 查询 `ccdi_file_upload_record`:
|
||||
- `project_id = 57`,结果 `0` 条
|
||||
- 查询 `ccdi_bank_statement`:
|
||||
- `project_id = 57`,结果 `0` 条
|
||||
|
||||
## 日志验证
|
||||
|
||||
### 1. 项目创建成功
|
||||
|
||||
- 日志记录了项目创建成功:
|
||||
- `projectId=57`
|
||||
- `projectName=自动测试-历史导入-20260329-1017`
|
||||
- 状态初始化为 `进行中`
|
||||
|
||||
### 2. 异步导入线程失败
|
||||
|
||||
- 后端异步线程 `file-upload-1` 在读取来源上传记录时抛出异常:
|
||||
|
||||
```text
|
||||
Unknown column 'source_type' in 'field list'
|
||||
```
|
||||
|
||||
- 对应 SQL 为:
|
||||
|
||||
```sql
|
||||
select id, project_id, lsfx_project_id, log_id, file_name, file_size,
|
||||
file_status, source_type, source_project_id, source_project_name,
|
||||
enterprise_names, account_nos, error_message, upload_time, upload_user
|
||||
from ccdi_file_upload_record
|
||||
where project_id in (?, ?)
|
||||
and file_status = 'parsed_success'
|
||||
and log_id is not null
|
||||
```
|
||||
|
||||
- 结论:异步导入任务在读取来源记录阶段即失败,后续的流水复制、文件记录写入、打标触发都没有执行成功。
|
||||
|
||||
## 测试结论
|
||||
|
||||
### 已验证通过
|
||||
|
||||
- 导入历史项目弹窗可打开
|
||||
- 历史项目列表能够加载真实数据,且列表范围符合“已完成/已归档”
|
||||
- 前端校验提示正常
|
||||
- 点击导入后可创建新项目
|
||||
- 提交成功后提示文案正确,且会跳转到新项目详情页
|
||||
|
||||
### 验证失败
|
||||
|
||||
- 默认配置下后端无法启动,存在循环依赖
|
||||
- 联调用数据库缺少历史导入所需来源字段
|
||||
- 异步历史导入任务执行失败
|
||||
- 新项目未生成任何上传记录
|
||||
- 新项目未生成任何流水数据
|
||||
|
||||
### 当前无法继续验证的项
|
||||
|
||||
- 上传记录“历史导入 · 来源项目名”展示
|
||||
- 历史导入文件记录删除入口是否隐藏
|
||||
- 导入完成后自动触发打标、结果刷新、统计刷新
|
||||
|
||||
## 阻塞问题汇总
|
||||
|
||||
1. `CcdiBankTagServiceImpl -> CcdiProjectServiceImpl -> CcdiProjectHistoryImportServiceImpl` 存在循环依赖,导致默认启动失败。
|
||||
2. 联调用数据库 `ccdi_file_upload_record` 未执行来源字段迁移,导致异步导入 SQL 直接失败。
|
||||
|
||||
## 清理记录
|
||||
|
||||
- 已停止本次测试临时启动的后端进程
|
||||
- 已停止本次测试临时启动的前端开发进程
|
||||
Reference in New Issue
Block a user