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

32 lines
1.5 KiB
Markdown
Raw Normal View History

# 员工信息维护导入模板必填表头标记实施记录
## 背景
员工信息维护导入模板中,标注了 `@Required` 的字段表头未显示 `*`。排查发现 `RequiredFieldWriteHandler` 在 Sheet 创建完成后立即读取表头行,但此时 EasyExcel 尚未写入表头,因此会跳过必填标记处理。
## 修改内容
-`RequiredFieldWriteHandler` 从 Sheet 创建后处理改为表头单元格写入完成后处理。
- 对标注了 `@Required` 的表头追加 `*` 并应用原有红色加粗样式。
- 增加防重复处理,表头已经以 `*` 结尾时不再重复追加。
- 补充员工信息维护模板测试,校验员工信息 Sheet 必填表头输出为 `姓名*``员工ID*``所属部门ID*``身份证号*``电话*``是否党员*``状态*`,并校验员工资产信息 Sheet 已有 `*` 不重复追加。
## 影响范围
- 影响接口:`POST /ccdi/baseStaff/importTemplate`
- 影响模板:
- `员工信息` Sheet
- `员工资产信息` Sheet
- 处理器为共享模板处理器,其他使用 `@Required``RequiredFieldWriteHandler` 的导入模板会恢复必填表头 `*` 标记。
- 不涉及导入解析、校验逻辑、数据库结构和前端交互。
## 验证情况
已执行:
```bash
mvn -pl ccdi-info-collection -am -Dtest=EasyExcelUtilTemplateTest -Dsurefire.failIfNoSpecifiedTests=false test
```
验证结果:测试通过,员工信息维护导入模板的必填表头星号、列宽、下拉框、文本格式均通过断言。