Files
ccdi/docs/reports/implementation/2026-07-20-bank-upload-cret-no-backfill.md

37 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 上传流水身份证号本地回填实施记录
## 背景
上传行外流水文件时,文件名已经会校验必须包含 18 位身份证号,但流水平台返回明细中的 `cretNo` 可能为空。当前结果总览、流水打标和专项分析主要依赖 `ccdi_bank_statement.cret_no` 关联员工或关系人,空值会导致上传后有流水但结果出不来。
## 修改内容
- 仅调整后端上传流水文件链路,不修改前端、不修改拉取本行信息链路、不修改数据库结构。
- `CcdiFileUploadServiceImpl`
- 在上传记录文件名中复用现有身份证号识别规则提取 18 位身份证号。
- 保存流水平台返回的流水明细前,若 `CcdiBankStatement.cretNo` 为空,则使用上传记录文件名中的身份证号回填。
- 继续使用原有上传记录文件名转传流水平台,不新增 `身份证号-原文件名` 前缀改写。
- `CcdiFileUploadServiceImplTest`
- 保留“转传流水平台使用记录文件名”的测试。
- 新增平台返回 `cretNo` 为空时,本地入库实体回填上传文件名身份证号的测试。
## 影响范围
- 对平台正常返回 `cretNo` 的流水无影响,仍优先使用平台返回值。
- 对平台未返回 `cretNo`、但上传文件名包含身份证号的流水,入库时会补齐 `ccdi_bank_statement.cret_no`
- 对文件名不含身份证号的上传仍在上传前拦截,不进入落库阶段。
## 验证
```bash
mvn -pl ccdi-project -am "-Dtest=CcdiFileUploadServiceImplTest" "-Dsurefire.failIfNoSpecifiedTests=false" test
```
- 结果BUILD SUCCESS
- 覆盖:上传链路文件名校验、上传平台文件名传递、解析完成后流水入库、`cretNo` 为空时本地回填。
## 备注
- PowerShell 下 Maven `-D` 参数需要加引号;未加引号时命令会被解析为错误生命周期阶段。
- 本次未启动前端或后端服务,因此无测试进程需要关闭。