# 招聘信息维护导入模板招聘类型下拉框实施记录

## 背景

招聘信息维护导入模板中，“招聘类型”列原本为普通文本输入，用户需要手工填写招聘类型。现要求该列改为下拉框，仅选择“社招”或“校招”。

## 修改内容

- 在 `CcdiStaffRecruitmentExcel` 的 `recruitType` 字段上增加 `@DictDropdown(dictType = "ccdi_recruit_type")`，让双 Sheet 导入模板生成时自动为“招聘类型”列添加 Excel 下拉框。
- 新增 `sql/migration/2026-05-07-add-staff-recruitment-type-dict.sql`，初始化 `ccdi_recruit_type` 字典：
  - `社招` -> `SOCIAL`
  - `校招` -> `CAMPUS`
- 更新招聘导入模板单测，断言“录用情况”和“招聘类型”列都存在下拉校验。

## 影响范围

- 后端模板生成：`/ccdi/staffRecruitment/importTemplate`
- 字典数据：`sys_dict_type`、`sys_dict_data` 中的 `ccdi_recruit_type`
- 导入解析与入库逻辑未改动；当前导入逻辑已支持把“社招/校招”归一为 `SOCIAL/CAMPUS`。

## 验证情况

- 已执行 `sh bin/mysql_utf8_exec.sh sql/migration/2026-05-07-add-staff-recruitment-type-dict.sql`，字典 SQL 执行成功。
- 数据库回查确认 `ccdi_recruit_type` 字典存在，字典项为 `社招/SOCIAL`、`校招/CAMPUS`。
- 已执行 `mvn -pl ccdi-info-collection -am -Dtest=EasyExcelUtilTemplateTest -Dsurefire.failIfNoSpecifiedTests=false test`，7 个模板相关测试全部通过。
- 单测日志确认招聘主 Sheet 第 5 列 `ccdi_admit_status`、第 7 列 `ccdi_recruit_type` 均成功添加下拉框。
- 已执行 `sh bin/restart_java_backend.sh restart` 重新构建并重启后端；随后通过后台 `screen` 启动脚本保持后端运行。
- 已通过真实接口 `/ccdi/staffRecruitment/importTemplate` 下载模板，工作簿包含“招聘信息”和“历史工作经历”两个 Sheet。
- 已检查真实模板 `xl/worksheets/sheet1.xml`，数据校验包含：
  - `F2:F1000`：`录用,未录用,放弃`
  - `H2:H1000`：`社招,校招`

## 注意事项

- 当前后端已完成重启，模板下载接口可以读取到新增字典项。
