From 38305dede6004eebbb36158473c95805a94c90e4 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Mon, 8 May 2023 16:08:39 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.6.0=E3=80=91=E3=80=90=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=E6=94=B9=E9=80=A0=E3=80=91=E4=BF=AE=E5=A4=8D=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E7=9A=84=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HrOrganizationController.java | 12 ++++ .../service/HrOrganizationService.java | 9 +++ .../impl/HrOrganizationServiceImpl.java | 58 +++++++++++++++++-- .../system-business-permission/pom.xml | 28 --------- .../home/controller/HomePageController.java | 12 ---- .../modular/home/service/HomePageService.java | 9 --- .../service/impl/HomePageServiceImpl.java | 54 ----------------- .../system-spring-boot-starter/pom.xml | 50 ++-------------- 8 files changed, 79 insertions(+), 153 deletions(-) diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/controller/HrOrganizationController.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/controller/HrOrganizationController.java index a50eaea15..c0b5bea58 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/controller/HrOrganizationController.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/controller/HrOrganizationController.java @@ -35,6 +35,7 @@ import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource; import cn.stylefeng.roses.kernel.system.api.enums.OrgTypeEnum; +import cn.stylefeng.roses.kernel.system.api.pojo.home.HomeCompanyInfo; import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrOrganizationDTO; import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrOrganizationRequest; import cn.stylefeng.roses.kernel.system.api.pojo.organization.OrganizationTreeNode; @@ -279,4 +280,15 @@ public class HrOrganizationController { return new SuccessResponseData<>(hrOrganizationService.getSubOrgList(request)); } + /** + * 获取首页企业和公司信息 + * + * @author xixiaowei + * @since 2022/2/9 10:12 + */ + @GetResource(name = "获取首页企业和公司信息", path = "/homePage/getHomeCompanyInfo", requiredPermission = false) + public ResponseData getHomeCompanyInfo() { + return new SuccessResponseData<>(hrOrganizationService.getHomeCompanyInfo()); + } + } diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/HrOrganizationService.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/HrOrganizationService.java index 779bae950..bba374546 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/HrOrganizationService.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/HrOrganizationService.java @@ -28,6 +28,7 @@ import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict; import cn.stylefeng.roses.kernel.rule.tree.ztree.ZTreeNode; import cn.stylefeng.roses.kernel.system.api.OrganizationServiceApi; +import cn.stylefeng.roses.kernel.system.api.pojo.home.HomeCompanyInfo; import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrOrganizationDTO; import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrOrganizationRequest; import cn.stylefeng.roses.kernel.system.api.pojo.organization.OrganizationTreeNode; @@ -158,4 +159,12 @@ public interface HrOrganizationService extends IService, Organiz */ List getSubOrgList(HrOrganizationRequest request); + /** + * 获取首页公司部门人员信息统计 + * + * @author fengshuonan + * @since 2022/2/11 21:03 + */ + HomeCompanyInfo getHomeCompanyInfo(); + } diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java index e53be0bec..3c562f41f 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java @@ -34,6 +34,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; import cn.stylefeng.roses.kernel.auth.api.enums.DataScopeTypeEnum; +import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.db.api.DbOperatorApi; import cn.stylefeng.roses.kernel.db.api.context.DbOperatorContext; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; @@ -47,24 +48,26 @@ import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict; import cn.stylefeng.roses.kernel.rule.tree.factory.DefaultTreeBuildFactory; import cn.stylefeng.roses.kernel.rule.tree.ztree.ZTreeNode; -import cn.stylefeng.roses.kernel.system.api.RoleDataScopeServiceApi; -import cn.stylefeng.roses.kernel.system.api.RoleServiceApi; -import cn.stylefeng.roses.kernel.system.api.UserOrgServiceApi; -import cn.stylefeng.roses.kernel.system.api.UserServiceApi; +import cn.stylefeng.roses.kernel.system.api.*; import cn.stylefeng.roses.kernel.system.api.enums.DetectModeEnum; 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.organization.OrganizationExceptionEnum; +import cn.stylefeng.roses.kernel.system.api.pojo.home.HomeCompanyInfo; import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrOrganizationDTO; import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrOrganizationRequest; import cn.stylefeng.roses.kernel.system.api.pojo.organization.OrganizationTreeNode; +import cn.stylefeng.roses.kernel.system.api.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.api.util.DataScopeUtil; import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrOrganization; import cn.stylefeng.roses.kernel.system.modular.organization.factory.OrganizationFactory; import cn.stylefeng.roses.kernel.system.modular.organization.mapper.HrOrganizationMapper; import cn.stylefeng.roses.kernel.system.modular.organization.service.HrOrganizationService; +import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg; +import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; @@ -75,6 +78,9 @@ import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; +import static cn.stylefeng.roses.kernel.rule.constants.SymbolConstant.LEFT_SQUARE_BRACKETS; +import static cn.stylefeng.roses.kernel.rule.constants.SymbolConstant.RIGHT_SQUARE_BRACKETS; + /** * 组织架构管理 * @@ -102,6 +108,12 @@ public class HrOrganizationServiceImpl extends ServiceImpl allUserIdList = userServiceApi.queryAllUserIdList(sysUserRequest); + homeCompanyInfo.setEnterprisePersonNum(allUserIdList.size()); + + // 获取所有职位总数 + int positionNum = positionServiceApi.positionNum(); + homeCompanyInfo.setPositionNum(positionNum); + + // 获取当前登录人的组织机构id + LoginUser loginUser = LoginContext.me().getLoginUser(); + Long organizationId = loginUser.getOrganizationId(); + + // 获取当前公司的所有子公司数量(含当前公司) + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(HrOrganization.class) + .like(HrOrganization::getOrgPids, LEFT_SQUARE_BRACKETS + organizationId + RIGHT_SQUARE_BRACKETS) + .or() + .eq(HrOrganization::getOrgId, organizationId) + .select(HrOrganization::getOrgId); + List organizations = this.list(wrapper); + homeCompanyInfo.setCurrentDeptNum(organizations.size()); + + // 设置当前所属机构和所有子机构的人数 + List orgIds = organizations.stream().map(HrOrganization::getOrgId).collect(Collectors.toList()); + Long currentOrgPersonNum = sysUserOrgService.count(Wrappers.lambdaQuery(SysUserOrg.class).in(SysUserOrg::getOrgId, orgIds)); + homeCompanyInfo.setCurrentCompanyPersonNum(Convert.toInt(currentOrgPersonNum)); + + return homeCompanyInfo; + } + /** * 创建组织架构的通用条件查询wrapper * diff --git a/kernel-s-system/system-business-permission/pom.xml b/kernel-s-system/system-business-permission/pom.xml index f1f9cbd3f..c5c18a0f2 100644 --- a/kernel-s-system/system-business-permission/pom.xml +++ b/kernel-s-system/system-business-permission/pom.xml @@ -102,27 +102,6 @@ true - - - cn.stylefeng.roses - system-business-user - ${roses.version} - - - - - cn.stylefeng.roses - system-business-menu - ${roses.version} - - - - - cn.stylefeng.roses - system-business-organization - ${roses.version} - - org.springframework.boot @@ -137,13 +116,6 @@ ${roses.version} - - - cn.stylefeng.roses - system-business-resource - ${roses.version} - - cn.stylefeng.roses diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/controller/HomePageController.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/controller/HomePageController.java index d9870e607..35e9f8024 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/controller/HomePageController.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/controller/HomePageController.java @@ -6,7 +6,6 @@ import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource; -import cn.stylefeng.roses.kernel.system.api.pojo.home.HomeCompanyInfo; import cn.stylefeng.roses.kernel.system.api.pojo.user.request.OnlineUserRequest; import cn.stylefeng.roses.kernel.system.modular.home.pojo.OnlineUserStat; import cn.stylefeng.roses.kernel.system.modular.home.service.HomePageService; @@ -51,17 +50,6 @@ public class HomePageController { return new SuccessResponseData<>(homePageService.getOnlineUserList(onlineUserRequest)); } - /** - * 获取首页企业和公司信息 - * - * @author xixiaowei - * @since 2022/2/9 10:12 - */ - @GetResource(name = "获取首页企业和公司信息", path = "/homePage/getHomeCompanyInfo", requiredPermission = false) - public ResponseData getHomeCompanyInfo() { - return new SuccessResponseData<>(homePageService.getHomeCompanyInfo()); - } - /** * 获取常用功能接口 * diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/HomePageService.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/HomePageService.java index 98eb77a29..833cf3328 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/HomePageService.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/HomePageService.java @@ -1,7 +1,6 @@ package cn.stylefeng.roses.kernel.system.modular.home.service; import cn.stylefeng.roses.kernel.log.api.pojo.record.LogRecordDTO; -import cn.stylefeng.roses.kernel.system.api.pojo.home.HomeCompanyInfo; import cn.stylefeng.roses.kernel.system.api.pojo.user.request.OnlineUserRequest; import cn.stylefeng.roses.kernel.system.modular.home.pojo.OnlineUserStat; import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu; @@ -32,14 +31,6 @@ public interface HomePageService { */ OnlineUserStat getOnlineUserList(OnlineUserRequest onlineUserRequest); - /** - * 获取首页公司部门人员信息统计 - * - * @author fengshuonan - * @since 2022/2/11 21:03 - */ - HomeCompanyInfo getHomeCompanyInfo(); - /** * 获取常用功能集合 * diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/impl/HomePageServiceImpl.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/impl/HomePageServiceImpl.java index 59e0f33be..7e5ab2c50 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/impl/HomePageServiceImpl.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/system/modular/home/service/impl/HomePageServiceImpl.java @@ -1,6 +1,5 @@ package cn.stylefeng.roses.kernel.system.modular.home.service.impl; -import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; @@ -14,10 +13,8 @@ import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.system.api.HomePageServiceApi; import cn.stylefeng.roses.kernel.system.api.PositionServiceApi; import cn.stylefeng.roses.kernel.system.api.UserServiceApi; -import cn.stylefeng.roses.kernel.system.api.pojo.home.HomeCompanyInfo; import cn.stylefeng.roses.kernel.system.api.pojo.user.OnlineUserDTO; import cn.stylefeng.roses.kernel.system.api.pojo.user.request.OnlineUserRequest; -import cn.stylefeng.roses.kernel.system.api.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.modular.home.entity.SysStatisticsCount; import cn.stylefeng.roses.kernel.system.modular.home.entity.SysStatisticsUrl; import cn.stylefeng.roses.kernel.system.modular.home.mapper.SysStatisticsUrlMapper; @@ -27,10 +24,6 @@ import cn.stylefeng.roses.kernel.system.modular.home.service.SysStatisticsCountS import cn.stylefeng.roses.kernel.system.modular.home.service.SysStatisticsUrlService; import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu; import cn.stylefeng.roses.kernel.system.modular.menu.mapper.SysMenuMapper; -import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrOrganization; -import cn.stylefeng.roses.kernel.system.modular.organization.service.HrOrganizationService; -import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg; -import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -40,9 +33,6 @@ import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; -import static cn.stylefeng.roses.kernel.rule.constants.SymbolConstant.LEFT_SQUARE_BRACKETS; -import static cn.stylefeng.roses.kernel.rule.constants.SymbolConstant.RIGHT_SQUARE_BRACKETS; - /** * 首页服务实现类 * @@ -58,15 +48,9 @@ public class HomePageServiceImpl implements HomePageService, HomePageServiceApi @Resource private UserServiceApi userServiceApi; - @Resource - private HrOrganizationService hrOrganizationService; - @Resource private PositionServiceApi positionServiceApi; - @Resource - private SysUserOrgService sysUserOrgService; - @Resource(name = "requestCountCacheApi") private CacheOperatorApi> requestCountCacheApi; @@ -117,44 +101,6 @@ public class HomePageServiceImpl implements HomePageService, HomePageServiceApi return onlineUserStat; } - @Override - public HomeCompanyInfo getHomeCompanyInfo() { - HomeCompanyInfo homeCompanyInfo = new HomeCompanyInfo(); - - // 获取组织机构总数量 - long count = hrOrganizationService.count(); - homeCompanyInfo.setOrganizationNum(Convert.toInt(count)); - - // 获取企业人员总数量 - SysUserRequest sysUserRequest = new SysUserRequest(); - List allUserIdList = userServiceApi.queryAllUserIdList(sysUserRequest); - homeCompanyInfo.setEnterprisePersonNum(allUserIdList.size()); - - // 获取所有职位总数 - int positionNum = positionServiceApi.positionNum(); - homeCompanyInfo.setPositionNum(positionNum); - - // 获取当前登录人的组织机构id - LoginUser loginUser = LoginContext.me().getLoginUser(); - Long organizationId = loginUser.getOrganizationId(); - - // 获取当前公司的所有子公司数量(含当前公司) - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(HrOrganization.class) - .like(HrOrganization::getOrgPids, LEFT_SQUARE_BRACKETS + organizationId + RIGHT_SQUARE_BRACKETS) - .or() - .eq(HrOrganization::getOrgId, organizationId) - .select(HrOrganization::getOrgId); - List organizations = hrOrganizationService.list(wrapper); - homeCompanyInfo.setCurrentDeptNum(organizations.size()); - - // 设置当前所属机构和所有子机构的人数 - List orgIds = organizations.stream().map(HrOrganization::getOrgId).collect(Collectors.toList()); - Long currentOrgPersonNum = sysUserOrgService.count(Wrappers.lambdaQuery(SysUserOrg.class).in(SysUserOrg::getOrgId, orgIds)); - homeCompanyInfo.setCurrentCompanyPersonNum(Convert.toInt(currentOrgPersonNum)); - - return homeCompanyInfo; - } - @Override public List getCommonFunctions() { diff --git a/kernel-s-system/system-spring-boot-starter/pom.xml b/kernel-s-system/system-spring-boot-starter/pom.xml index 31324ea94..331e5b94c 100644 --- a/kernel-s-system/system-spring-boot-starter/pom.xml +++ b/kernel-s-system/system-spring-boot-starter/pom.xml @@ -24,45 +24,17 @@ ${roses.version} - + cn.stylefeng.roses - system-business-menu + system-business-hr ${roses.version} - + cn.stylefeng.roses - system-business-organization - ${roses.version} - - - - - cn.stylefeng.roses - system-business-resource - ${roses.version} - - - - - cn.stylefeng.roses - system-business-role - ${roses.version} - - - - - cn.stylefeng.roses - system-business-theme - ${roses.version} - - - - - cn.stylefeng.roses - system-business-user + system-business-portal ${roses.version} @@ -80,20 +52,6 @@ true - - - cn.stylefeng.roses - system-business-portal - ${roses.version} - - - - - cn.stylefeng.roses - system-business-home - ${roses.version} - - cn.stylefeng.roses