Files
ccdi/docs/reports/implementation/2026-06-30-bank-statement-cret-no-normalization.md
2026-06-30 13:40:24 +08:00

26 lines
1.2 KiB
Markdown

# 2026-06-30 流水本方证件号清洗实施记录
## 背景
业务核对发现,业务侧上传文件名存在“身份证号-姓名”的不规范写法,流水平台返回的本方证件号也可能沿用该形式,且横线前可能存在空格。该值落库到 `ccdi_bank_statement.cret_no` 后,会导致结果总览按身份证号匹配员工、亲属或外部主体时无法命中。
## 修改内容
- 修改 `CcdiBankStatement.fromResponse`,在流水平台响应转换为本地流水实体时清洗 `cretNo`
- 清洗规则:
- 先去除首尾空格。
- 将全角横线、长横线、短横线统一视为半角横线。
- 如存在横线,仅保留横线前的身份证号部分,并再次去除首尾空格。
- 新增单元测试覆盖半角横线和全角横线场景。
## 影响范围
- 仅影响后续新拉取或新上传后落库的流水。
- 不修改表结构、接口协议、打标规则和前端页面。
- 改动范围很小,只在流水接口响应转换为本地实体时做字段清洗。
- 已经落库的历史脏数据需要单独清洗 `ccdi_bank_statement.cret_no` 后重新打标,才能恢复结果总览命中。
## 验证
- 运行 `mvn -pl ccdi-project "-Dtest=CcdiBankStatementTest" test`