Files
ccdi/docs/reports/implementation/2026-05-06-base-staff-import-template-required-header.md

1.5 KiB

员工信息维护导入模板必填表头标记实施记录

背景

员工信息维护导入模板中,标注了 @Required 的字段表头未显示 *。排查发现 RequiredFieldWriteHandler 在 Sheet 创建完成后立即读取表头行,但此时 EasyExcel 尚未写入表头,因此会跳过必填标记处理。

修改内容

  • RequiredFieldWriteHandler 从 Sheet 创建后处理改为表头单元格写入完成后处理。
  • 对标注了 @Required 的表头追加 * 并应用原有红色加粗样式。
  • 增加防重复处理,表头已经以 * 结尾时不再重复追加。
  • 补充员工信息维护模板测试,校验员工信息 Sheet 必填表头输出为 姓名*员工ID*所属部门ID*身份证号*电话*是否党员*状态*,并校验员工资产信息 Sheet 已有 * 不重复追加。

影响范围

  • 影响接口:POST /ccdi/baseStaff/importTemplate
  • 影响模板:
    • 员工信息 Sheet
    • 员工资产信息 Sheet
  • 处理器为共享模板处理器,其他使用 @RequiredRequiredFieldWriteHandler 的导入模板会恢复必填表头 * 标记。
  • 不涉及导入解析、校验逻辑、数据库结构和前端交互。

验证情况

已执行:

mvn -pl ccdi-info-collection -am -Dtest=EasyExcelUtilTemplateTest -Dsurefire.failIfNoSpecifiedTests=false test

验证结果:测试通过,员工信息维护导入模板的必填表头星号、列宽、下拉框、文本格式均通过断言。