# 员工信息维护双 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/`