完善外部人员预警与项目分析上线内容

This commit is contained in:
wjj
2026-06-30 10:23:55 +08:00
parent 4e90e22ee2
commit 5e4bfca05b
77 changed files with 5788 additions and 333 deletions

View File

@@ -0,0 +1,46 @@
# 外部人员预警后端实施计划
## 目标
在不改变结果总览员工主口径的前提下,新增外部人员预警查询与导出能力,使中介、客户、其他外部人员作为本方流水导入后,也能在结果总览中形成预警结果。
## 实施范围
1. 新增外部人员预警分页接口。
2. 新增外部人员预警导出接口。
3. 新增外部人员模型统计接口。
4. 新增外部人员模型命中人员分页接口。
5. 扩展涉疑交易明细筛选,支持外部人员相关流水。
6. 补充外部人员预警测试数据 SQL。
## 业务口径
1. 本方 `cret_no` 命中员工身份证号时,归入员工。
2. 本方 `cret_no` 命中员工亲属证件号时,归入员工亲属。
3. 本方 `cret_no` 未命中员工和员工亲属时,归入外部人员。
4. 外部人员 `cret_no` 命中中介库本人证件号时,主体类型为中介。
5. 外部人员 `cret_no` 命中信贷客户证件号时,主体类型为客户。
6. 其他外部人员统一显示为外部人员。
7. 外部人员只跑交易和关系类模型,不套用员工资产、负面征信、岗位部门类模型。
## 模型范围
1. `EXTERNAL_LARGE_TRANSACTION`:外部人员大额交易。
2. `EXTERNAL_ABNORMAL_TRANSACTION`:外部人员异常交易。
3. `EXTERNAL_SUSPICIOUS_GAMBLING`:外部人员可疑赌博。
4. `EXTERNAL_SUSPICIOUS_RELATION`:外部人员可疑关系。
## 数据实现
本轮采用直接聚合现有流水和标签结果的最短路径,不新增结果快照表:
1. 外部人员主体来自 `ccdi_bank_statement.cret_no`
2. 命中模型来自 `ccdi_bank_statement_tag_result` 中外部人员模型编码。
3. 与员工或员工亲属的关系来自交易对手证件号、交易对手姓名、账户库命中结果。
4. 中介识别优先使用中介库 `person_id`,不使用姓名作为主体识别依据。
## 验证
1. 执行新增测试数据 SQL。
2. 运行 `mvn test -pl ccdi-project` 相关测试或至少编译 `ccdi-project`
3. 启动后端后验证新增接口返回外部人员预警列表、模型统计和导出接口。

View File

@@ -0,0 +1,29 @@
# 专项分析项目员工范围后端实施计划
## 背景
专项分析原先通过项目打标命中结果解析员工范围。未命中风险规则的项目员工不会展示在专项分析中,无法满足“项目内员工即使未命中也进行专项排查”的业务要求。
## 实施范围
- 修改专项分析公共员工范围 SQL。
- 范围口径调整为:项目已入库银行流水 `ccdi_bank_statement``cret_no` 能匹配员工主数据 `ccdi_base_staff.id_card` 的员工。
- 不新增前端入口、不新增人工纳入表、不伪造打标命中结果。
## 实施步骤
1. 调整 `CcdiProjectSpecialCheckMapper.xml``projectEmployeeScopeSql`
2. 使用 `ccdi_bank_statement.project_id``cret_no` 获取项目员工范围。
3. 关联 `ccdi_base_staff` 获取员工姓名、柜员号、部门。
4. 保持资产负债专项核查、采购拓展、招聘拓展、调动拓展共用同一员工范围。
## 影响范围
- 员工家庭资产负债专项核查列表与详情。
- 专项分析下采购拓展、招聘拓展、调动拓展查询。
- 结果总览风险人员统计不在本次调整范围内,仍按打标结果口径。
## 验证计划
- 执行 Maven 编译,确认 Mapper XML 与 Java 工程可编译。
- 检查 SQL 引用字段存在且口径与项目目标人数回填逻辑一致。

View File

@@ -0,0 +1,47 @@
# 外部人员预警前端实施计划
## 目标
在结果总览页面保持员工为主的展示结构,新增同风格、靠后的“外部人员预警”入口,并补齐列表、详情、模型联动和导出交互。
## 页面结构
1. 风险总览卡片结构不变。
2. 风险人员区域新增弱 Tab
- 员工风险人员
- 外部人员预警
3. 默认选中员工风险人员。
4. 外部人员预警表格不展示工号、部门、资产分析、负面征信等员工专属字段。
5. 外部人员操作按钮显示“查看交易”。
## 外部人员表格字段
1. 姓名。
2. 证件号。
3. 主体类型:中介、客户、外部人员。
4. 风险等级。
5. 命中模型数。
6. 核心异常点。
7. 涉及对象。
8. 最近交易时间。
9. 操作。
## 风险模型
1. 员工风险模型保持现有展示。
2. 在模型区域后置展示外部人员预警模型。
3. 选择外部人员模型时,下方命中人员列表切换为外部人员字段。
4. 导出按钮按当前选中的模型范围导出命中明细。
## 导出
1. 风险人员区域导出按当前 Tab 决定导出员工或外部人员。
2. 外部人员导出文件名为 `风险人员总览_外部人员预警_<项目ID>_<时间>.xlsx`
3. 风险模型导出导出当前筛选模型命中明细。
## 验证
1. 使用真实页面验证员工 Tab 默认展示不变。
2. 切换外部人员预警 Tab确认字段和分页正常。
3. 选择外部人员模型,确认模型命中人员列表切换正常。
4. 点击导出,确认请求触发和文件下载。

View File

@@ -0,0 +1,27 @@
# 外部人员详情加载态修正前端实施计划
## 目标
修正结果总览外部人员“查看详情”弹窗打开时先显示前端拼装的笼统对象异常、再刷新为流水异常明细的问题。
## 实施范围
- 页面:项目详情 > 结果总览 > 外部人员预警 > 查看详情。
- 文件:`ruoyi-ui/src/views/ccdiProject/components/detail/ExternalPersonDetailDialog.vue`
- 不调整后端接口。
## 实施内容
1. 打开弹窗并加载流水异常明细时,先清空上一轮 `statementRows`
2. `detailLoading``true` 时不渲染 `ProjectAnalysisAbnormalTab`
3. 加载期间仅展示独立加载区域。
4. 流水接口返回后再渲染异常明细内容。
5. 对于未匹配到单笔流水的对象级规则,加载完成后保留“对象异常明细”分组展示。
## 验证要点
1. 进入真实结果总览外部人员预警列表。
2. 点击“查看详情”。
3. 确认加载期间不出现发白的“对象异常明细”内容。
4. 确认加载完成后展示流水异常明细。
5. 确认总流水超限等对象级规则在加载完成后仍可显示为“对象异常明细”。

View File

@@ -0,0 +1,26 @@
# 外部人员预警列表字段语义修正前端实施计划
## 目标
修正结果总览“外部人员预警”列表字段展示语义,避免将模型、规则和涉及对象混用。
## 实施范围
- 页面:项目详情 > 结果总览 > 外部人员预警。
- 文件:`ruoyi-ui/src/views/ccdiProject/components/detail/RiskPeopleSection.vue`
- 不新增接口,不修改后端查询口径。
## 实施内容
1. 移除外部人员列表中的“命中模型数 / 命中模型”列。
2. “核心异常点”继续展示 `riskPointTagList[].ruleName`,即规则名称。
3. “涉及对象”继续展示后端 `relatedObject`,仅表示交易对手方对象类型。
4. 员工风险人员列表不调整。
## 验证要点
1. 进入真实项目详情结果总览。
2. 切换到“外部人员预警”Tab。
3. 确认外部人员列表不再显示“命中模型数 / 命中模型”列。
4. 确认“核心异常点”显示规则名称。
5. 确认“涉及对象”不再承担模型或规则展示语义。