# 员工信息维护双 Sheet 导入后端实施计划

## 目标
- 将员工信息维护导入模板改为 `员工信息` + `员工资产信息` 双 Sheet。
- 统一由 `/ccdi/baseStaff/importData` 接收单文件上传，并按有数据的 Sheet 分别调用现有员工导入与员工资产导入方法。
- 员工信息导入取消“更新已存在员工”能力，命中现有员工 ID 或身份证号时直接记失败。
- 两类失败记录统一补充 `sheetName`、`rowNum`、`errorMessage`，便于直接定位 Excel 中的失败位置。

## 实施内容
- 控制器改造
  - 修改 `CcdiBaseStaffController#importTemplate`，下载双 Sheet 模板，文件名统一为“员工信息维护导入模板”。
  - 修改 `CcdiBaseStaffController#importData`，按 Sheet 名分别读取 `CcdiBaseStaffExcel` 与 `CcdiBaseStaffAssetInfoExcel`。
  - 两个 Sheet 均为空时返回错误；任一 Sheet 有数据时，仅提交对应导入任务。
  - 返回新的双任务提交结果对象，包含 `staffTaskId`、`assetTaskId`、`message`。
- 服务改造
  - 修改 `ICcdiBaseStaffService`、`CcdiBaseStaffServiceImpl`，移除 `updateSupport` 参数。
  - 修改 `ICcdiBaseStaffImportService`、`CcdiBaseStaffImportServiceImpl`，移除更新分支与 `insertOrUpdateBatch` 调用。
  - 员工导入校验统一为：
    - 员工 ID 已存在：失败
    - 身份证号已存在：失败
    - Excel 内重复：失败
  - 员工资产导入补充重复校验：
    - 数据库中存在同一 `personId + assetMainType + assetSubType + assetName`：失败
    - 导入文件中存在同一组合重复：失败
- VO 修正
  - 新增员工双 Sheet 提交结果 VO。
  - 修正员工导入失败记录 VO 字段名为 `staffId`，与前端表格字段保持一致。
  - 员工与员工资产失败记录 VO 均增加 `sheetName`、`rowNum`。

## 验证
- `mvn -pl ccdi-info-collection,ruoyi-admin -am -DskipTests compile`
- 补充控制器与服务层回归测试，覆盖双 Sheet 分发与“已存在即失败”规则。

## 影响范围
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/`
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/`
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/`
