diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/CompanyNameFormatProcess.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/CompanyNameFormatProcess.java index fd2ac53f0..7f62f3431 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/CompanyNameFormatProcess.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/CompanyNameFormatProcess.java @@ -9,6 +9,8 @@ import cn.stylefeng.roses.kernel.sys.api.pojo.org.CompanyDeptDTO; /** * 获取公司名称的处理 + *

+ * 优先从缓存获取数据,进行名称的获取 * * @author fengshuonan * @since 2024-01-16 20:10 diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgDetailFormatProcess.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgDetailFormatProcess.java index 013164161..aabc135c3 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgDetailFormatProcess.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgDetailFormatProcess.java @@ -9,6 +9,8 @@ import java.util.HashMap; /** * 组织机构id格式化为获取机构的详情 + *

+ * 优先从缓存获取数据,进行名称的获取 * * @author fengshuonan * @since 2023/7/17 15:36 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 index 2ca187704..f4c4cde58 100644 --- 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 @@ -7,6 +7,8 @@ import cn.stylefeng.roses.kernel.sys.api.OrganizationServiceApi; /** * 获取机构名称的处理 + *

+ * 采用组织机构详情缓存,加速获取 * * @author fengshuonan * @since 2023/7/14 16:46 diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/org/HrOrganizationDTO.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/org/HrOrganizationDTO.java index dcf90f130..40d39bbe9 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/org/HrOrganizationDTO.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/org/HrOrganizationDTO.java @@ -44,6 +44,12 @@ public class HrOrganizationDTO { @ChineseDescription("主键") private Long orgId; + /** + * 组织机构类型:1-公司,2-部门 + */ + @ChineseDescription("组织机构类型:1-公司,2-部门") + private Integer orgType; + /** * 父id */ 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 c79f8a378..aad6d28f9 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 @@ -344,8 +344,11 @@ public class HrOrganizationServiceImpl extends ServiceImpl hrOrganizationLambdaQueryWrapper = new LambdaQueryWrapper<>(); - hrOrganizationLambdaQueryWrapper.eq(HrOrganization::getOrgId, orgId); - hrOrganizationLambdaQueryWrapper.select(HrOrganization::getOrgType, HrOrganization::getOrgId, HrOrganization::getOrgParentId); - HrOrganization hrOrganization = this.getOne(hrOrganizationLambdaQueryWrapper, false); - - if (hrOrganization == null) { + HrOrganizationDTO orgInfo = this.getOrgInfo(orgId); + if (orgInfo == null) { return null; } // 查询机构对应的公司部门信息 + HrOrganization hrOrganization = new HrOrganization(); + BeanUtil.copyProperties(orgInfo, hrOrganization); return this.getOrgCompanyInfo(hrOrganization); } @@ -384,8 +385,9 @@ public class HrOrganizationServiceImpl extends ServiceImpl hrOrganizationLambdaQueryWrapper = new LambdaQueryWrapper<>(); hrOrganizationLambdaQueryWrapper.eq(HrOrganization::getOrgId, orgId); - hrOrganizationLambdaQueryWrapper.select(HrOrganization::getOrgId, HrOrganization::getOrgParentId, HrOrganization::getOrgPids, - HrOrganization::getOrgName, HrOrganization::getOrgShortName, HrOrganization::getOrgSort, HrOrganization::getOrgCode); + hrOrganizationLambdaQueryWrapper.select(HrOrganization::getOrgId, HrOrganization::getOrgType, + HrOrganization::getOrgParentId, HrOrganization::getOrgPids, HrOrganization::getOrgName, + HrOrganization::getOrgShortName, HrOrganization::getOrgSort, HrOrganization::getOrgCode); HrOrganization hrOrganization = this.getOne(hrOrganizationLambdaQueryWrapper, false); if (ObjectUtil.isEmpty(hrOrganization)) { @@ -578,16 +580,9 @@ 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; + // 获取组织机构详情 + HrOrganizationDTO orgInfo = this.getOrgInfo(orgId); + return orgInfo.getOrgName(); } @Override