diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/entity/HrOrganization.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/entity/HrOrganization.java index 1360919ab..f36980e21 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/entity/HrOrganization.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/entity/HrOrganization.java @@ -165,6 +165,13 @@ public class HrOrganization extends BaseExpandFieldEntity implements AbstractTre @ChineseDescription("是否有子级:true-有子级,false-无子级") private Boolean haveSubOrgFlag = false; + /** + * 层级的详情 + */ + @TableField(exist = false) + @ChineseDescription("层级的详情") + private OrganizationLevel organizationLevel; + @Override public String getNodeId() { if (this.orgId == null) { 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 662f8c210..272e3af36 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 @@ -33,13 +33,16 @@ import cn.stylefeng.roses.kernel.sys.api.pojo.org.CompanyDeptDTO; import cn.stylefeng.roses.kernel.sys.api.pojo.org.HrOrganizationDTO; import cn.stylefeng.roses.kernel.sys.modular.org.constants.OrgConstants; import cn.stylefeng.roses.kernel.sys.modular.org.entity.HrOrganization; +import cn.stylefeng.roses.kernel.sys.modular.org.entity.OrganizationLevel; import cn.stylefeng.roses.kernel.sys.modular.org.factory.OrganizationFactory; import cn.stylefeng.roses.kernel.sys.modular.org.mapper.HrOrganizationMapper; import cn.stylefeng.roses.kernel.sys.modular.org.pojo.request.CommonOrgTreeRequest; import cn.stylefeng.roses.kernel.sys.modular.org.pojo.request.HrOrganizationRequest; +import cn.stylefeng.roses.kernel.sys.modular.org.pojo.request.OrganizationLevelRequest; import cn.stylefeng.roses.kernel.sys.modular.org.pojo.response.CommonOrgTreeResponse; import cn.stylefeng.roses.kernel.sys.modular.org.pojo.response.HomeCompanyInfo; import cn.stylefeng.roses.kernel.sys.modular.org.service.HrOrganizationService; +import cn.stylefeng.roses.kernel.sys.modular.org.service.OrganizationLevelService; import cn.stylefeng.roses.kernel.sys.modular.position.service.HrPositionService; import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUserOrg; import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserOrgService; @@ -83,6 +86,9 @@ public class HrOrganizationServiceImpl extends ServiceImpl sysOrgInfoCache; + @Resource + private OrganizationLevelService organizationLevelService; + @Override public void add(HrOrganizationRequest hrOrganizationRequest) { HrOrganization hrOrganization = new HrOrganization(); @@ -202,10 +208,18 @@ public class HrOrganizationServiceImpl extends ServiceImpl sysRolePage = this.page(PageFactory.defaultPage(), wrapper); - return PageResultFactory.createPageResult(sysRolePage); + Page hrOrganizationPage = this.page(PageFactory.defaultPage(), wrapper); + List records = hrOrganizationPage.getRecords(); + + // 填充组织机构层级的详情 + List list = organizationLevelService.findList(new OrganizationLevelRequest()); + for (HrOrganization record : records) { + record.setOrganizationLevel(list.stream().filter(item -> item.getLevelCode().equals(record.getLevelCode())).findFirst().orElse(null)); + } + + return PageResultFactory.createPageResult(hrOrganizationPage); } @Override diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/OrganizationLevelServiceImpl.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/OrganizationLevelServiceImpl.java index e2be2d913..93961739a 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/OrganizationLevelServiceImpl.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/OrganizationLevelServiceImpl.java @@ -28,6 +28,9 @@ public class OrganizationLevelServiceImpl extends ServiceImpl findList(OrganizationLevelRequest organizationLevelRequest) { LambdaQueryWrapper wrapper = this.createWrapper(organizationLevelRequest); + + wrapper.select(OrganizationLevel::getOrgLevelId, OrganizationLevel::getLevelCode, OrganizationLevel::getLevelNumber, OrganizationLevel::getLevelName, OrganizationLevel::getLevelColor); + return this.list(wrapper); }