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