Files
ccdi/docs/reports/implementation/2026-04-23-base-staff-import-dept-validation-implementation.md
2026-04-24 13:29:13 +08:00

29 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 员工信息导入机构号校验实施记录
## 文档信息
- 保存路径:`docs/reports/implementation/2026-04-23-base-staff-import-dept-validation-implementation.md`
- 实施日期2026-04-23
- 关联范围:员工信息维护后端导入链路
## 本次修改内容
1.`CcdiBaseStaffImportServiceImpl` 中新增 `deptId` 校验逻辑,要求导入员工的所属部门必须在 `sys_dept` 中存在且处于正常、未删除状态。
2. 机构号校验失败时,导入记录不入库,失败原因统一写入现有失败记录字段 `errorMessage`,错误文案为 `所属部门ID[xxx]不存在或已停用/删除,请检查机构号`
3. 补齐 `SysDeptMapper.xml``selectDeptById``del_flag` 字段映射,避免导入服务误把逻辑删除部门识别为有效部门。
4. 补充员工导入服务层与异步导入流程单元测试,覆盖部门不存在、部门停用、部门删除和合法/非法混合导入场景。
## 影响范围
- 后端:
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffImportServiceImpl.java`
- `ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml`
- 测试:
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiBaseStaffImportServiceImplTest.java`
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiBaseStaffDualImportServiceTest.java`
## 验证情况
1. 定向单测:
- 命令:`mvn -pl ccdi-info-collection -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiBaseStaffImportServiceImplTest,CcdiBaseStaffDualImportServiceTest test`
- 结果:通过,`Tests run: 13, Failures: 0, Errors: 0, Skipped: 0`
2. 编译校验:
- 命令:`mvn -pl ccdi-info-collection,ruoyi-admin -am -DskipTests compile`
- 结果通过Reactor Summary 中 `ccdi-info-collection``ruoyi-admin` 及其依赖模块均为 `SUCCESS`