38 lines
2.2 KiB
Markdown
38 lines
2.2 KiB
Markdown
|
|
# 员工信息维护双 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/`
|