Files
ccdi/docs/reports/implementation/2026-05-06-info-import-template-text-format-coverage.md

55 lines
3.1 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.
# 信息模块导入模板文本格式覆盖实施记录
## 背景
- 信息模块多个导入模板中存在证件号、身份证号、电话、手机号、统一社会信用代码、银行账户、账户号码、银行代码、工号、跨 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 导入模板,并检查保真字段列格式为文本格式。
- 本次未启动前端或后端进程,无需清理测试进程。