From bd502d472385767fdbe7ea08da88bf1f3bb3f9ac Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Wed, 21 Jun 2023 10:49:19 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.6.0=E3=80=91=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E8=BF=94=E5=9B=9E=E9=83=A8=E9=97=A8=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/organization/HrOrganizationDTO.java | 7 ++++++ .../impl/SysUserOrgServiceServiceImpl.java | 24 ++++++++++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/HrOrganizationDTO.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/HrOrganizationDTO.java index c53ded0dd..10eff14c0 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/HrOrganizationDTO.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/HrOrganizationDTO.java @@ -54,9 +54,16 @@ public class HrOrganizationDTO { /** * 组织名称 + *

+ * 存公司名称 */ private String orgName; + /** + * 部门名称 + */ + private String deptName; + /** * 组织编码 */ diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserOrgServiceServiceImpl.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserOrgServiceServiceImpl.java index 89256df4f..11c3fa199 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserOrgServiceServiceImpl.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserOrgServiceServiceImpl.java @@ -31,6 +31,7 @@ import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.system.api.OrganizationServiceApi; +import cn.stylefeng.roses.kernel.system.api.enums.OrgTypeEnum; import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.api.exception.enums.user.SysUserOrgExceptionEnum; import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrOrganizationDTO; @@ -235,12 +236,29 @@ public class SysUserOrgServiceServiceImpl extends ServiceImpl sysUserOrgList = this.findList(userOrgResponse); for (SysUserOrg sysUserOrg : sysUserOrgList) { - // 获取用户的公司信息 - HrOrganizationDTO companyInfo = organizationServiceApi.getOrgCompanyInfo(sysUserOrg.getOrgId()); - if (companyInfo == null) { + + // 获取组织机构信息 + Long orgId = sysUserOrg.getOrgId(); + HrOrganizationDTO orgDetail = organizationServiceApi.getOrgDetail(orgId); + if (orgDetail == null) { continue; } + // 如果当前机构是公司,则直接填充公司信息 + HrOrganizationDTO companyInfo = null; + if (OrgTypeEnum.COMPANY.getCode().equals(orgDetail.getOrgType())) { + companyInfo = orgDetail; + } else { + // 获取用户的公司信息 + companyInfo = organizationServiceApi.getOrgCompanyInfo(sysUserOrg.getOrgId()); + if (companyInfo == null) { + continue; + } + + // 设置部门名称 + companyInfo.setDeptName(orgDetail.getOrgName()); + } + // 填充用户的职务名称positionName companyInfo.setPositionName(hrPositionService.getPositionName(sysUserOrg.getPositionId()));