新增结果总览未提交账户展示

This commit is contained in:
wjj
2026-07-20 11:50:03 +08:00
parent 1561df924f
commit dd424cca50
23 changed files with 1051 additions and 5 deletions

View File

@@ -0,0 +1,27 @@
# 未提交账户后端实施计划
## 目标
在结果总览风险明细中新增“未提交账户”能力,参考 lsfx 未提交账户口径识别本项目已上传流水中疑似未提交分析的同名账户,并按已确认范围排除银行贷款/信贷类账号。
## 实施范围
- 新增未提交账户查询接口,返回汇总、主体分组和账号卡片数据。
- 新增未提交账户导出接口,导出未提交账户流水。
- 风险明细统一导出增加“未提交账户流水” Sheet。
- 结果总览报告增加未提交账户明细。
- 不新增数据库表,不新增菜单与权限。
## 关键口径
1. 候选账号来自 `ccdi_bank_statement` 当前项目流水。
2. 对手方户名等于本方主体名,对手方账号非空,且清洗后不等于本方账号。
3. 对手方账号不在本项目已提交账号集合中,已提交账号集合来自上传记录保存的 `account_nos`
4. 贷款排除只使用银行贷款/信贷高确定性关键词,不使用 `TRX_TYPE`
5. 只有候选账号关联流水全部命中贷款/信贷排除条件时,才排除该账号。
## 验证
- Mapper XML 断言覆盖未提交账户 SQL、贷款排除关键词与“不使用 TRX_TYPE”。
- 风险明细工作簿测试覆盖新增 Sheet。
- 后端编译或相关测试通过后记录实施结果。

View File

@@ -0,0 +1,26 @@
# 未提交账户前端实施计划
## 目标
在结果总览风险明细页面新增“未提交账户”展示区,形态参考 lsfx 截图:顶部汇总、主体分组、账号卡片和导出流水入口。
## 实施范围
- `projectOverview.js` 增加未提交账户查询 API。
- `RiskDetailSection.vue` 增加未提交账户区块。
- 展示未提交账户数、流入总额、流出总额、流入/流出差额。
- 按主体展示账号卡片,卡片显示账号、流入金额、流出金额和交易占比较高标记。
- 导出按钮调用后端未提交账户流水导出接口。
## 交互规则
- 当前项目为空时显示空态。
- 查询失败时展示错误提示并清空未提交账户数据。
- 账号显示使用中间省略,金额按万元展示。
- 交易占比较高按后端返回的标记展示。
## 验证
- 前端单元静态断言覆盖标题、汇总字段、导出入口和卡片字段。
- 按项目要求使用可用 Node/npm 版本完成构建或测试。
- 页面开发完成后使用浏览器实际验证。

View File

@@ -0,0 +1,20 @@
# 未提交账户实施记录
## 修改内容
- 新增结果总览“未提交账户”后端查询与导出能力。
- 新增前端风险明细未提交账户卡片展示。
- 风险明细统一导出与结果总览报告接入未提交账户流水。
- 贷款排除仅使用银行贷款/信贷高确定性关键词,未启用内部杂项账号排除。
## 影响范围
- 后端:`ccdi-project` 结果总览 Controller、Service、Mapper、VO、Excel 与导出器。
- 前端:`ruoyi-ui` 结果总览风险明细组件与 API。
- 文档:后端计划、前端计划、实施记录。
## 验证情况
- 后端执行 `mvn -pl ccdi-project -am test "-Dtest=CcdiProjectOverviewMapperSqlTest,CcdiProjectRiskDetailWorkbookExporterTest,CcdiProjectOverviewReportPdfExporterTest,CcdiProjectOverviewServiceImplTest" "-Dsurefire.failIfNoSpecifiedTests=false"`32 个测试通过。
- 前端使用 Node 22.22.3 / npm 10.9.8 执行 `node tests\unit\risk-detail-abnormal-account-layout.test.js`,静态断言通过。
- 前端使用 Node 22.22.3 / npm 10.9.8 执行 `npm run build:prod`,构建通过;仍存在项目既有资源体积告警。