调整风险人员总览异常点与疑似违规数口径
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# Risk People Overview Risk Count Backend Implementation Plan
|
||||
|
||||
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** 将风险人员总览中的疑似违规数从去重规则数调整为员工本人及其亲属命中的打标明细数量。
|
||||
|
||||
**Architecture:** 保持风险等级、TOP10 和项目风险人数回写口径继续基于去重规则数,不做范围外调整。仅在 `ccdi-project` 结果总览员工聚合 SQL 中增加单独的打标数量字段,并在风险人员总览服务映射时使用该字段作为 `riskCount`。
|
||||
|
||||
**Tech Stack:** Java 21, Spring Boot 3, MyBatis XML, Maven, JUnit 5, Mockito
|
||||
|
||||
---
|
||||
|
||||
### Task 1: 锁定疑似违规数新口径
|
||||
|
||||
**Files:**
|
||||
- Modify: `ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImplTest.java`
|
||||
- Modify: `ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectOverviewMapperSqlTest.java`
|
||||
|
||||
- [ ] **Step 1: Write the failing test**
|
||||
|
||||
调整服务测试,断言 `riskCount` 读取独立的打标数量字段,而不是 `ruleCount`。调整 SQL 结构测试,锁定员工聚合查询包含 `hit_count` 聚合。
|
||||
|
||||
- [ ] **Step 2: Run test to verify it fails**
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
mvn test -pl ccdi-project -Dtest=CcdiProjectOverviewServiceImplTest,CcdiProjectOverviewMapperSqlTest
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
- `FAIL`
|
||||
- 原因是聚合 VO 与 SQL 尚未提供打标数量字段
|
||||
|
||||
- [ ] **Step 3: Write minimal implementation**
|
||||
|
||||
为员工聚合 VO 新增 `hitCount` 字段;Mapper XML 增加 `count(1) as hit_count` 聚合,并映射到结果集;Service 构建风险人员总览项时改为优先使用 `hitCount` 作为 `riskCount`。
|
||||
|
||||
- [ ] **Step 4: Run test to verify it passes**
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
mvn test -pl ccdi-project -Dtest=CcdiProjectOverviewServiceImplTest,CcdiProjectOverviewMapperSqlTest
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
- `PASS`
|
||||
|
||||
- [ ] **Step 5: Commit**
|
||||
|
||||
```bash
|
||||
git add ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImplTest.java ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectOverviewMapperSqlTest.java ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/vo/CcdiProjectEmployeeRiskAggregateVO.java ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImpl.java ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectOverviewMapper.xml
|
||||
git commit -m "调整风险人员总览疑似违规数口径"
|
||||
```
|
||||
@@ -0,0 +1,57 @@
|
||||
# Risk People Overview Risk Point Backend Implementation Plan
|
||||
|
||||
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** 将风险人员总览中的核心异常点从单条代表性规则调整为员工命中多条规则时的稳定拼接结果。
|
||||
|
||||
**Architecture:** 保持现有风险人数统计、风险等级划分和排序规则不变,只调整 `ccdi-project` 结果总览聚合 SQL 与服务映射。核心异常点改为先按员工和规则统计命中次数,再按命中次数倒序、规则编码升序拼接多条规则名称,直接返回给前端展示。
|
||||
|
||||
**Tech Stack:** Java 21, Spring Boot 3, MyBatis XML, Maven, JUnit 5, Mockito
|
||||
|
||||
---
|
||||
|
||||
### Task 1: 锁定多规则拼接行为
|
||||
|
||||
**Files:**
|
||||
- Modify: `ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImplTest.java`
|
||||
- Modify: `ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectOverviewMapperSqlTest.java`
|
||||
|
||||
- [ ] **Step 1: Write the failing test**
|
||||
|
||||
在服务测试中新增或调整用例,断言 `riskPoint` 取拼接后的多规则字符串;在 SQL 结构测试中锁定 `group_concat` 与 `risk_point` 聚合片段。
|
||||
|
||||
- [ ] **Step 2: Run test to verify it fails**
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
mvn test -pl ccdi-project -Dtest=CcdiProjectOverviewServiceImplTest,CcdiProjectOverviewMapperSqlTest
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
- `FAIL`
|
||||
- 服务层仍只映射单条规则,SQL 尚未包含多规则拼接
|
||||
|
||||
- [ ] **Step 3: Write minimal implementation**
|
||||
|
||||
为员工聚合 VO 增加 `riskPoint` 字段;在 Mapper XML 中新增员工维度规则拼接子查询;Service 改为使用聚合后的 `riskPoint`。
|
||||
|
||||
- [ ] **Step 4: Run test to verify it passes**
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
mvn test -pl ccdi-project -Dtest=CcdiProjectOverviewServiceImplTest,CcdiProjectOverviewMapperSqlTest
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
- `PASS`
|
||||
|
||||
- [ ] **Step 5: Commit**
|
||||
|
||||
```bash
|
||||
git add ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImplTest.java ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectOverviewMapperSqlTest.java ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/vo/CcdiProjectEmployeeRiskAggregateVO.java ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImpl.java ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectOverviewMapper.xml
|
||||
git commit -m "修正风险人员总览核心异常点多规则展示"
|
||||
```
|
||||
@@ -0,0 +1,41 @@
|
||||
# Risk People Overview Risk Count Frontend Implementation Plan
|
||||
|
||||
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** 确认风险人员总览前端在后端调整疑似违规数口径后继续直接展示接口返回的 `riskCount`。
|
||||
|
||||
**Architecture:** 不修改 `RiskPeopleSection.vue` 表格结构和字段绑定,不新增前端兼容逻辑,只做回归验证确保“疑似违规数”仍绑定 `riskCount` 字段。
|
||||
|
||||
**Tech Stack:** Vue 2, Element UI, Node.js
|
||||
|
||||
---
|
||||
|
||||
### Task 1: 回归确认疑似违规数字段绑定
|
||||
|
||||
**Files:**
|
||||
- Verify: `ruoyi-ui/src/views/ccdiProject/components/detail/RiskPeopleSection.vue`
|
||||
- Verify: `ruoyi-ui/tests/unit/preliminary-check-risk-people-binding.test.js`
|
||||
|
||||
- [ ] **Step 1: Review current binding**
|
||||
|
||||
确认“疑似违规数”列继续绑定 `riskCount`,不新增前端计算。
|
||||
|
||||
- [ ] **Step 2: Run regression check**
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cd ruoyi-ui
|
||||
node tests/unit/preliminary-check-risk-people-binding.test.js
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
- `PASS`
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add ruoyi-ui/src/views/ccdiProject/components/detail/RiskPeopleSection.vue ruoyi-ui/tests/unit/preliminary-check-risk-people-binding.test.js
|
||||
git commit -m "确认风险人员总览疑似违规数前端展示口径"
|
||||
```
|
||||
@@ -0,0 +1,41 @@
|
||||
# Risk People Overview Risk Point Frontend Implementation Plan
|
||||
|
||||
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** 确认风险人员总览前端在后端返回多条核心异常点拼接字符串后无需额外改造即可正常展示。
|
||||
|
||||
**Architecture:** 保持 `RiskPeopleSection.vue` 表格结构、字段绑定和接口契约不变,不新增补丁逻辑。前端仅做回归验证,确保 `riskPoint` 继续作为普通字符串渲染。
|
||||
|
||||
**Tech Stack:** Vue 2, Element UI, Node.js
|
||||
|
||||
---
|
||||
|
||||
### Task 1: 回归确认风险人员总览字段绑定
|
||||
|
||||
**Files:**
|
||||
- Verify: `ruoyi-ui/src/views/ccdiProject/components/detail/RiskPeopleSection.vue`
|
||||
- Verify: `ruoyi-ui/tests/unit/preliminary-check-risk-people-binding.test.js`
|
||||
|
||||
- [ ] **Step 1: Review current binding**
|
||||
|
||||
确认“核心异常点”列仍绑定 `riskPoint`,不拆分数组,不新增格式化逻辑。
|
||||
|
||||
- [ ] **Step 2: Run regression check**
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cd ruoyi-ui
|
||||
node tests/unit/preliminary-check-risk-people-binding.test.js
|
||||
```
|
||||
|
||||
Expected:
|
||||
|
||||
- `PASS`
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add ruoyi-ui/src/views/ccdiProject/components/detail/RiskPeopleSection.vue ruoyi-ui/tests/unit/preliminary-check-risk-people-binding.test.js
|
||||
git commit -m "确认风险人员总览核心异常点前端展示口径"
|
||||
```
|
||||
Reference in New Issue
Block a user