Files
ccdi/docs/plans/backend/2026-04-22-staff-family-dual-sheet-import-backend-implementation.md

40 lines
2.3 KiB
Markdown
Raw Normal View History

2026-04-24 13:29:13 +08:00
# 员工亲属关系维护双 Sheet 导入后端实施计划
## 目标
- 将员工亲属关系维护导入模板改为双 Sheet
- `员工亲属关系信息`
- `亲属资产信息`
- 将导入提交入口统一到 `/ccdi/staffFmyRelation/importData`
- 统一补充失败记录定位字段,支持前端展示 `Sheet / Excel行号 / 失败原因`
## 实施内容
- Controller 调整
- `CcdiStaffFmyRelationController#importTemplate` 改为输出双 Sheet 模板,模板文件名统一为“员工亲属关系维护导入模板”。
- `CcdiStaffFmyRelationController#importData` 一次读取两个 Sheet。
- 按有数据的 Sheet 分别提交亲属关系导入任务和亲属资产导入任务。
- 返回新的提交结果 VO包含 `relationTaskId``assetTaskId` 和提示文案。
- VO 调整
- `StaffFmyRelationImportFailureVO` 增加 `sheetName``rowNum`
- `AssetImportFailureVO` 增加 `sheetName``rowNum`
- 新增 `StaffFmyRelationImportSubmitResultVO`
- 导入服务调整
- `CcdiStaffFmyRelationImportServiceImpl` 失败记录写入固定 `sheetName=员工亲属关系信息`,并记录 Excel 数据行号。
- `CcdiAssetInfoImportServiceImpl` 失败记录写入固定 `sheetName=亲属资产信息`,并记录 Excel 数据行号。
- 兼容策略
- 保留原 `CcdiAssetInfoController` 的状态查询与失败记录查询接口,前端继续复用原有资产任务轮询与失败记录查看能力。
## 验证
- 后端优先验证:
- `CcdiStaffFmyRelationControllerTest`
- `CcdiAssetInfoControllerTest`
- 编译验证:
- `mvn -pl ccdi-info-collection -am -Dmaven.test.skip=true compile`
## 影响范围
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiStaffFmyRelationController.java`
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiStaffFmyRelationImportServiceImpl.java`
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiAssetInfoImportServiceImpl.java`
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/StaffFmyRelationImportFailureVO.java`
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/AssetImportFailureVO.java`
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/StaffFmyRelationImportSubmitResultVO.java`