Files
ccdi/docs/reports/implementation/2026-04-23-base-staff-import-dept-validation-implementation.md

29 lines
1.9 KiB
Markdown
Raw Normal View History

2026-04-24 13:29:13 +08:00
# 员工信息导入机构号校验实施记录
## 文档信息
- 保存路径:`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`