修复流水上传身份证号回填
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# 上传流水身份证号本地回填后端实施计划
|
||||
|
||||
## 目标
|
||||
|
||||
修复上传行外流水文件后,流水平台返回明细中 `cretNo` 为空导致 `ccdi_bank_statement.cret_no` 为空、结果总览和打标无法按身份证号关联的问题。
|
||||
|
||||
## 范围
|
||||
|
||||
- 仅调整后端批量上传流水文件链路。
|
||||
- 不调整拉取本行信息链路。
|
||||
- 不调整前端页面、数据库表结构、结果总览查询和打标 SQL。
|
||||
|
||||
## 实施方案
|
||||
|
||||
1. 复用现有文件名空白清理与身份证号识别规则,从归一化后的上传记录文件名中提取 18 位身份证号。
|
||||
2. 保持转传流水平台的文件名不变,继续使用当前上传记录文件名。
|
||||
3. 保存平台返回的流水明细时,若 `CcdiBankStatement.cretNo` 为空,则使用当前上传记录文件名中提取到的身份证号回填。
|
||||
4. 补充单元测试覆盖平台 `cretNo` 为空时本地回填。
|
||||
|
||||
## 验证
|
||||
|
||||
- 运行 `mvn -pl ccdi-project -am -Dtest=CcdiFileUploadServiceImplTest -Dsurefire.failIfNoSpecifiedTests=false test`。
|
||||
- 必要时运行 `mvn -pl ccdi-project -am -DskipTests compile`。
|
||||
@@ -0,0 +1,36 @@
|
||||
# 上传流水身份证号本地回填实施记录
|
||||
|
||||
## 背景
|
||||
|
||||
上传行外流水文件时,文件名已经会校验必须包含 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` 参数需要加引号;未加引号时命令会被解析为错误生命周期阶段。
|
||||
- 本次未启动前端或后端服务,因此无测试进程需要关闭。
|
||||
Reference in New Issue
Block a user