From ffec90c897e9bd78e88b9fa590a5dd75d26b82c8 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@local>
Date: 星期五, 06 十一月 2026 11:38:23 +0800
Subject: [PATCH] fix(hrm): 修复员工导入失败(日期格式 + 部门/岗位/角色不存在)
---
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java
index 4f9b527..65b1875 100644
--- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java
+++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java
@@ -1,8 +1,11 @@
package cn.iocoder.yudao.module.system.api.dept;
+import cn.hutool.core.util.StrUtil;
+import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
+import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
import cn.iocoder.yudao.module.system.service.dept.DeptService;
import org.springframework.stereotype.Service;
@@ -51,4 +54,31 @@
return BeanUtils.toBean(childDeptList, DeptRespDTO.class);
}
+ @Override
+ public Long getOrCreateDeptByName(String name) {
+ String deptName = StrUtil.trim(name);
+ if (StrUtil.isEmpty(deptName)) {
+ return null;
+ }
+ List<DeptRespDTO> depts = getDeptList();
+ // 1. 宸插瓨鍦細鐩存帴澶嶇敤
+ for (DeptRespDTO dept : depts) {
+ if (deptName.equals(StrUtil.trim(dept.getName()))) {
+ return dept.getId();
+ }
+ }
+ // 2. 涓嶅瓨鍦細琛ュ缓鍒版牴閮ㄩ棬涓�
+ Long parentId = depts.stream()
+ .filter(dept -> dept.getParentId() == null || dept.getParentId() == 0L)
+ .map(DeptRespDTO::getId)
+ .findFirst()
+ .orElse(0L);
+ DeptSaveReqVO createReqVO = new DeptSaveReqVO();
+ createReqVO.setName(deptName);
+ createReqVO.setParentId(parentId);
+ createReqVO.setSort(0);
+ createReqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
+ return deptService.createDept(createReqVO);
+ }
+
}
--
Gitblit v1.9.3