调整异常对象逐卡展示口径

This commit is contained in:
wkc
2026-03-25 17:16:15 +08:00
parent e957cdcc81
commit 54cd982603
6 changed files with 117 additions and 16 deletions

View File

@@ -0,0 +1,35 @@
# 结果总览查看详情弹窗对象异常逐卡展示实施记录
## 变更日期
- 2026-03-25
## 变更范围
- 后端:`ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectOverviewMapper.xml`
- 后端测试:`ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectOverviewMapperSqlTest.java`
- 前端 Mock`ruoyi-ui/src/views/ccdiProject/components/detail/preliminaryCheck.mock.js`
## 实施内容
### 1. 对象异常查询改为按对象 + 规则拆卡
- `selectPersonAnalysisObjectRows` 不再按对象维度聚合全部异常。
- 查询改为按 `coalesce(tr.object_key, tr.object_type) + tr.rule_code` 分组。
- `summary` 改为当前规则名称。
- `reasonDetail` 改为当前规则对应的异常原因快照。
### 2. 异常对象摘要卡片展示口径调整
- 保持前端对象卡片渲染结构不变,继续一条记录对应一张卡。
- 由于后端返回已拆成“对象 + 规则”一条一张卡,页面自然表现为“每种对象异常,一个卡片”。
### 3. Mock 与测试同步
- 更新前端 Mock 数据,将同一对象的多种异常拆成多张卡片样例。
- 更新后端 SQL 测试,校验对象异常查询已按 `tr.rule_code` 分组,且不再使用 `group_concat` 合并 `rule_name``reason_detail`
## 结果
- 同一对象命中多种对象异常时,弹窗中的异常对象摘要已按“每种对象异常一个卡片”展示。
- 现有对象卡片布局与字段展示方式保持不变。

View File

@@ -0,0 +1,33 @@
# 结果总览查看详情弹窗对象异常逐卡展示验证记录
## 验证日期
- 2026-03-25
## 验证命令
```bash
cd /Users/wkc/Desktop/ccdi/ccdi
mvn test -pl ccdi-project -Dtest=CcdiProjectOverviewMapperSqlTest
cd /Users/wkc/Desktop/ccdi/ccdi/ruoyi-ui
node tests/unit/project-analysis-dialog-abnormal-tab.test.js
node tests/unit/project-analysis-dialog-source-highlight.test.js
npm run build:prod
```
## 验证结果
- 后端 `CcdiProjectOverviewMapperSqlTest` 通过,确认对象异常查询已按 `tr.rule_code` 拆分。
- 前端对象卡片相关单测通过。
- 前端生产构建成功。
- 构建过程中仅有项目既有的静态资源体积告警,无新增错误。
## 附加说明
- 本次需求的核心变化在对象异常查询分组口径,已通过 SQL 断言验证。
- `CcdiProjectOverviewServiceImplTest` 在当前环境下仍受 Mockito Inline MockMaker 自附着限制影响,未作为本次验证主证据。
## 结论
- 异常对象摘要已实现“每种对象异常一个卡片”,相关前后端链路验证通过。