diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/OrganizationServiceApi.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/OrganizationServiceApi.java index fd1c19ab1..b3c8fd099 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/OrganizationServiceApi.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/OrganizationServiceApi.java @@ -82,4 +82,17 @@ public interface OrganizationServiceApi { */ String getOrgTotalPathName(Long orgId); + /** + * 获取指定机构的指定层级的机构id,从下往上直到找到指定的机构层级 + *
+ * 如果找不到指定层级,返回为空
+ *
+ * @param orgId 指定机构id
+ * @param orgLevelCode 机构层级编码
+ * @return 指定层级的机构的id
+ * @author fengshuonan
+ * @since 2025/1/26 14:45
+ */
+ Long getParentOrgLevel(Long orgId, String orgLevelCode);
+
}
diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java
index d006536cb..9ec5d2d9a 100644
--- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java
+++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java
@@ -1,6 +1,7 @@
package cn.stylefeng.roses.kernel.sys.modular.org.service.impl;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -463,6 +464,47 @@ public class HrOrganizationServiceImpl extends ServiceImpl