Files
ccdi/docs/plans/backend/2026-04-22-base-staff-dual-sheet-import-backend-implementation.md
2026-04-24 13:29:13 +08:00

2.2 KiB

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

目标

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

实施内容

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

验证

  • 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/