调整风险人员总览异常点与疑似违规数口径

This commit is contained in:
wkc
2026-03-19 17:37:20 +08:00
parent c33f411c8b
commit f858fbdcbc
12 changed files with 308 additions and 14 deletions

View File

@@ -81,7 +81,9 @@
- 统计“员工本人 + 员工亲属”
- 若命中亲属,则归并到所属员工名下
4. 风险人员总览中的 `疑似违规数`
- 统计员工命中的去重规则数
- 统计归并到该员工名下的打标明细数量
- 包含员工本人命中与亲属命中
- 同一规则多次命中按多条明细累计
5. 员工风险等级口径
- 命中规则数 `>= 5`:高风险
- 命中规则数 `2-4`:中风险
@@ -188,7 +190,7 @@
"idNo": "330000000000000001",
"department": "信息二部",
"riskCount": 5,
"riskPoint": "大额单笔收入",
"riskPoint": "大额单笔收入、疑似兼职",
"actionLabel": "查看详情"
}
]
@@ -248,8 +250,10 @@
- `deptName`
- `ruleCount`
- `modelCount`
- `hitCount`
- `topRuleCode`
- `topRuleName`
- `riskPoint`
- `riskLevelCode`
- `riskLevelName`
- `riskLevelSort`
@@ -258,6 +262,7 @@
- `ruleCount = count(distinct rule_code)`
- `modelCount = count(distinct model_code)`
- `hitCount = count(1)`,表示归并到员工名下的打标明细数
- `riskLevelCode` 根据 `ruleCount` 映射为 `HIGH/MEDIUM/LOW`
- `riskLevelName` 映射为 `高风险/中风险/低风险`
- `riskLevelSort` 仅供 SQL 排序使用,`HIGH=1``MEDIUM=2``LOW=3`
@@ -349,7 +354,7 @@ Mapper 只负责以下查询:
建议采用“公共子查询 + 外层聚合”的方式:
1. 先构造标签结果到员工身份证的归并明细
2. 再按员工身份证聚合规则数、模型数和代表性规则
2. 再按员工身份证聚合规则数、模型数和核心异常点拼接结果
3. 最后外层补部门名称、风险等级和排序字段
建议公共子查询输出字段:
@@ -360,16 +365,18 @@ Mapper 只负责以下查询:
- `rule_name`
- `model_code`
### 9.4 代表性异常点选择
风险人员总览中的“疑似违规数”使用员工聚合后的 `hitCount`风险等级、TOP10 和项目人数回写继续使用 `ruleCount`
### 9.4 核心异常点拼接策略
`风险人员总览.riskPoint` 采用以下稳定选择策略:
1. 先按员工 + 规则维度统计命中次数
2. 按命中次数倒序
3. 再按 `rule_code` 升序
4. 取第一条 `rule_name`
4. 将排序后的全部 `rule_name``、` 拼接成字符串
这样不依赖数据库非确定性行为,不会因为同条规则多次命中而随机波动。
这样既能展示员工命中的多条核心异常点,也不依赖数据库非确定性行为,不会因为同条规则多次命中而随机波动。
### 9.5 TOP10 筛选规则
@@ -444,8 +451,8 @@ TOP10 查询仅保留:
2. 风险人员总览
- 校验员工本人命中可正常归并
- 校验亲属命中可正常归并到员工
- 校验 `riskCount = 去重规则数`
- 校验 `riskPoint` 选择稳定
- 校验 `riskCount = 打标明细数`
- 校验 `riskPoint` 多规则拼接顺序稳定
3. TOP10
- 校验仅返回中高风险
- 校验排序规则正确