From c8792f193d7dde71d6e47b74ce7932e0ef27ef6c Mon Sep 17 00:00:00 2001 From: stylefeng Date: Thu, 6 Feb 2025 17:20:09 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.3.3=E3=80=91=E3=80=90org=E3=80=91?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96=E6=8C=87=E5=AE=9A=E6=9C=BA?= =?UTF-8?q?=E6=9E=84=E6=8C=87=E5=AE=9A=E5=B1=82=E7=BA=A7=E7=9A=84=E6=9C=BA?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/api/OrganizationServiceApi.java | 13 ++++++++++ .../impl/HrOrganizationServiceImpl.java | 25 +++++++++++++++++++ 2 files changed, 38 insertions(+) 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 b3c8fd099..a25360a1e 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 @@ -95,4 +95,17 @@ public interface OrganizationServiceApi { */ Long getParentOrgLevel(Long orgId, String orgLevelCode); + /** + * 获取指定机构的,指定层级编码的机构信息 + *

+ * 例如:获取北京公司/信息中心/技术部,获取技术部的一级机构信息(北京公司),二级机构信息(信息中心) + *

+ * + * @param hrOrganizationDTO 指定的机构信息 + * @param levelCode 指定的层级编码,对应的sys_hr_organization_level表的levelCode + * @author fengshuonan + * @since 2025/2/6 16:39 + */ + HrOrganizationDTO getParentOrgByDataScopeType(HrOrganizationDTO hrOrganizationDTO, String levelCode); + } 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 40bbcf80c..99d6077f8 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 @@ -481,6 +481,31 @@ public class HrOrganizationServiceImpl extends ServiceImpl parentIdList = ParentIdParseUtil.parseToPidList(orgPids); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(HrOrganization::getOrgId, parentIdList); + List list = this.list(wrapper); + + // 遍历父级单位,找到指定参数层级对应的机构 + for (HrOrganization hrOrganization : list) { + String orgLevelCode = hrOrganization.getLevelCode(); + if (orgLevelCode.equals(levelCode)) { + return BeanUtil.copyProperties(hrOrganization, HrOrganizationDTO.class); + } + } + return null; + } + @Override public HomeCompanyInfo orgStatInfo() {