# 2026-06-30 流水本方证件号清洗实施记录

## 背景

业务核对发现，业务侧上传文件名存在“身份证号-姓名”的不规范写法，流水平台返回的本方证件号也可能沿用该形式，且横线前可能存在空格。该值落库到 `ccdi_bank_statement.cret_no` 后，会导致结果总览按身份证号匹配员工、亲属或外部主体时无法命中。

## 修改内容

- 修改 `CcdiBankStatement.fromResponse`，在流水平台响应转换为本地流水实体时清洗 `cretNo`。
- 清洗规则：
  - 先去除首尾空格。
  - 将全角横线、长横线、短横线统一视为半角横线。
  - 如存在横线，仅保留横线前的身份证号部分，并再次去除首尾空格。
- 新增单元测试覆盖半角横线和全角横线场景。

## 影响范围

- 仅影响后续新拉取或新上传后落库的流水。
- 不修改表结构、接口协议、打标规则和前端页面。
- 改动范围很小，只在流水接口响应转换为本地实体时做字段清洗。
- 已经落库的历史脏数据需要单独清洗 `ccdi_bank_statement.cret_no` 后重新打标，才能恢复结果总览命中。

## 验证

- 运行 `mvn -pl ccdi-project "-Dtest=CcdiBankStatementTest" test`。
