From 255fb4016226fe8095636855ce3d2af936871899 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Fri, 14 Jul 2023 16:56:28 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0=E3=80=91=E3=80=90org=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0org=E5=90=8D=E7=A7=B0=E7=9A=84=E8=8E=B7?= =?UTF-8?q?=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/api/OrganizationServiceApi.java | 19 +++++++++ .../sys/api/format/OrgNameFormatProcess.java | 35 +++++++++++++++++ .../org/service/HrOrganizationService.java | 3 +- .../impl/HrOrganizationServiceImpl.java | 39 ++++++++++++------- 4 files changed, 81 insertions(+), 15 deletions(-) create mode 100644 kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/OrganizationServiceApi.java create mode 100644 kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgNameFormatProcess.java 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 new file mode 100644 index 000000000..593806564 --- /dev/null +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/OrganizationServiceApi.java @@ -0,0 +1,19 @@ +package cn.stylefeng.roses.kernel.sys.api; + +/** + * 组织机构信息的api + * + * @author fengshuonan + * @since 2023/7/14 16:47 + */ +public interface OrganizationServiceApi { + + /** + * 获取组织机构的名称,通过组织机构id + * + * @author fengshuonan + * @since 2023/7/14 16:47 + */ + String getOrgNameById(Long orgId); + +} diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgNameFormatProcess.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgNameFormatProcess.java new file mode 100644 index 000000000..2ca187704 --- /dev/null +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgNameFormatProcess.java @@ -0,0 +1,35 @@ +package cn.stylefeng.roses.kernel.sys.api.format; + +import cn.hutool.core.convert.Convert; +import cn.hutool.extra.spring.SpringUtil; +import cn.stylefeng.roses.kernel.rule.format.BaseSimpleFieldFormatProcess; +import cn.stylefeng.roses.kernel.sys.api.OrganizationServiceApi; + +/** + * 获取机构名称的处理 + * + * @author fengshuonan + * @since 2023/7/14 16:46 + */ +public class OrgNameFormatProcess extends BaseSimpleFieldFormatProcess { + + @Override + public Class getItemClass() { + return Long.class; + } + + @Override + public Object simpleItemFormat(Object businessId) { + + if (businessId == null) { + return null; + } + + Long orgId = Convert.toLong(businessId); + + OrganizationServiceApi organizationServiceApi = SpringUtil.getBean(OrganizationServiceApi.class); + + return organizationServiceApi.getOrgNameById(orgId); + } + +} diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/HrOrganizationService.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/HrOrganizationService.java index 6bdc56450..51f775c42 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/HrOrganizationService.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/HrOrganizationService.java @@ -1,6 +1,7 @@ package cn.stylefeng.roses.kernel.sys.modular.org.service; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.sys.api.OrganizationServiceApi; import cn.stylefeng.roses.kernel.sys.api.pojo.org.CompanyDeptDTO; import cn.stylefeng.roses.kernel.sys.modular.org.entity.HrOrganization; import cn.stylefeng.roses.kernel.sys.modular.org.pojo.request.CommonOrgTreeRequest; @@ -17,7 +18,7 @@ import java.util.Set; * @author fengshuonan * @date 2023/06/10 21:23 */ -public interface HrOrganizationService extends IService { +public interface HrOrganizationService extends IService, OrganizationServiceApi { /** * 新增 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 fb7c5e7b2..a4b3b0b69 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 @@ -139,19 +139,8 @@ public class HrOrganizationServiceImpl extends ServiceImpl parentWrapper = new LambdaQueryWrapper<>(); - parentWrapper.eq(HrOrganization::getOrgId, hrOrganization.getOrgParentId()); - parentWrapper.select(HrOrganization::getOrgName); - HrOrganization parentInfo = this.getOne(parentWrapper, false); - if (parentInfo == null) { - hrOrganization.setParentOrgName(OrgConstants.NONE_PARENT_ORG); - } else { - hrOrganization.setParentOrgName(parentInfo.getOrgName()); - } - } + String parentOrgName = this.getOrgNameById(hrOrganization.getOrgParentId()); + hrOrganization.setParentOrgName(parentOrgName); return hrOrganization; } @@ -441,6 +430,29 @@ public class HrOrganizationServiceImpl extends ServiceImpl hrOrganizationLambdaQueryWrapper = new LambdaQueryWrapper<>(); + hrOrganizationLambdaQueryWrapper.eq(HrOrganization::getOrgId, orgId); + hrOrganizationLambdaQueryWrapper.select(HrOrganization::getOrgName); + HrOrganization one = this.getOne(hrOrganizationLambdaQueryWrapper); + + if (one != null) { + return one.getOrgName(); + } + + return OrgConstants.NONE_PARENT_ORG; + } + /** * 获取信息 * @@ -582,5 +594,4 @@ public class HrOrganizationServiceImpl extends ServiceImpl