# 信息模块导入模板文本格式覆盖实施记录

## 背景

- 信息模块多个导入模板中存在证件号、身份证号、电话、手机号、统一社会信用代码、银行账户、账户号码、银行代码、工号、跨 Sheet 关联编号等需要保真录入的字段。
- 这类字段如果使用 Excel 默认常规格式，可能被自动识别为数值或科学计数法，导致前导零、长号码或编码内容失真。

## 修改内容

- 为信息模块导入模板 DTO 中的保真字段补充 `@TextFormat`：
  - 账户库：证件号、账户号码、银行代码。
  - 员工信息维护：身份证号、电话；员工资产 Sheet 的员工身份证号保持文本格式。
  - 员工亲属关系、信贷客户家庭关系：主身份证号、关系人证件号码、手机号码 1、手机号码 2。
  - 员工亲属实体关联、信贷客户实体关联：身份证号、统一社会信用代码。
  - 实体库管理、实体中介：统一社会信用代码、法定代表人证件号码。
  - 个人中介：证件号码、手机号码、企业统一信用码、关联中介本人证件号码。
  - 中介实体关联关系：中介本人证件号码、统一社会信用代码。
  - 招投标信息维护：采购事项 ID、申请人工号、采购负责人工号、供应商统一信用代码、供应商联系电话、供应商银行账户。
  - 招聘信息维护：招聘记录编号、证件号码、面试官工号；历史工作经历 Sheet 的招聘记录编号。
- 更新普通导入模板生成方法 `EasyExcelUtil.importTemplateExcel(...)`，使不带字典下拉框的模板也会注册 `TextFormatWriteHandler`。
- 扩展 `EasyExcelUtilTemplateTest`，实际生成各导入模板 workbook 并断言上述列的默认列格式为文本格式 `@`。

## 影响范围

- 后端模板生成工具：
  - `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/utils/EasyExcelUtil.java`
- 信息模块导入模板 DTO：
  - `CcdiAccountInfoExcel`
  - `CcdiBaseStaffExcel`
  - `CcdiCustEnterpriseRelationExcel`
  - `CcdiCustFmyRelationExcel`
  - `CcdiEnterpriseBaseInfoExcel`
  - `CcdiIntermediaryEnterpriseRelationExcel`
  - `CcdiIntermediaryEntityExcel`
  - `CcdiIntermediaryPersonExcel`
  - `CcdiPurchaseTransactionExcel`
  - `CcdiPurchaseTransactionSupplierExcel`
  - `CcdiStaffEnterpriseRelationExcel`
  - `CcdiStaffFmyRelationExcel`
  - `CcdiStaffRecruitmentExcel`
  - `CcdiStaffRecruitmentWorkExcel`
- 不改变导入字段顺序、字段类型、业务校验、字典下拉框和页面交互。

## 验证情况

- 已执行定向模板测试：

```bash
MAVEN_OPTS="-javaagent:$HOME/.m2/repository/net/bytebuddy/byte-buddy-agent/1.17.8/byte-buddy-agent-1.17.8.jar" mvn -pl ccdi-info-collection -am -Dtest=EasyExcelUtilTemplateTest -Dsurefire.failIfNoSpecifiedTests=false test
```

- 验证结果：通过，`EasyExcelUtilTemplateTest` 共 7 个用例，0 失败，0 错误。
- 测试过程已实际生成单 Sheet 与双 Sheet 导入模板，并检查保真字段列格式为文本格式。
- 本次未启动前端或后端进程，无需清理测试进程。
