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

3.1 KiB
Raw Permalink Blame History

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

背景

  • 信息模块多个导入模板中存在证件号、身份证号、电话、手机号、统一社会信用代码、银行账户、账户号码、银行代码、工号、跨 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
  • 不改变导入字段顺序、字段类型、业务校验、字典下拉框和页面交互。

验证情况

  • 已执行定向模板测试:
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 导入模板,并检查保真字段列格式为文本格式。
  • 本次未启动前端或后端进程,无需清理测试进程。