32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
|
|
# 员工信息维护导入模板必填表头标记实施记录
|
||
|
|
|
||
|
|
## 背景
|
||
|
|
|
||
|
|
员工信息维护导入模板中,标注了 `@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
|
||
|
|
```
|
||
|
|
|
||
|
|
验证结果:测试通过,员工信息维护导入模板的必填表头星号、列宽、下拉框、文本格式均通过断言。
|