From 24d098146995285f74fcbe1d4a5c5187f7cea8aa Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Mon, 26 Jun 2023 23:35:21 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.6.0=E3=80=91=E3=80=90sys=E3=80=91?= =?UTF-8?q?=E3=80=90portal=E3=80=91=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1=EF=BC=8C=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=A1=AB=E5=85=85=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/pojo/response/HomeCompanyInfo.java | 8 +-- .../impl/HrOrganizationServiceImpl.java | 56 ++++++++++++++++++- 2 files changed, 59 insertions(+), 5 deletions(-) diff --git a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/pojo/response/HomeCompanyInfo.java b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/pojo/response/HomeCompanyInfo.java index 1923d9690..cb580d4ba 100644 --- a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/pojo/response/HomeCompanyInfo.java +++ b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/pojo/response/HomeCompanyInfo.java @@ -14,17 +14,17 @@ public class HomeCompanyInfo { /** * 所有组织机构数 */ - private Integer organizationNum; + private Long organizationNum; /** * 所有企业人员总数 */ - private Integer enterprisePersonNum; + private Long enterprisePersonNum; /** * 所有职位总数 */ - private Integer positionNum; + private Long positionNum; /** * 当前登录用户,所在公司的部门数量 @@ -34,5 +34,5 @@ public class HomeCompanyInfo { /** * 当前登录用户,所在公司的总人数 */ - private Integer currentCompanyPersonNum; + private Long currentCompanyPersonNum; } diff --git a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java index 2b3d5d1d9..039844b4e 100644 --- a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java +++ b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; +import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; import cn.stylefeng.roses.kernel.db.api.context.DbOperatorContext; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; @@ -22,16 +23,26 @@ import cn.stylefeng.roses.kernel.sys.modular.org.mapper.HrOrganizationMapper; import cn.stylefeng.roses.kernel.sys.modular.org.pojo.request.HrOrganizationRequest; 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.position.service.HrPositionService; +import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUserOrg; +import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserOrgService; +import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; +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; /** * 组织机构信息业务实现层 @@ -42,6 +53,15 @@ import java.util.Set; @Service public class HrOrganizationServiceImpl extends ServiceImpl implements HrOrganizationService { + @Resource + private SysUserService sysUserService; + + @Resource + private HrPositionService hrPositionService; + + @Resource + private SysUserOrgService sysUserOrgService; + @Override public void add(HrOrganizationRequest hrOrganizationRequest) { HrOrganization hrOrganization = new HrOrganization(); @@ -202,10 +222,44 @@ public class HrOrganizationServiceImpl extends ServiceImpl wrapper = Wrappers.lambdaQuery(HrOrganization.class) + .like(HrOrganization::getOrgPids, LEFT_SQUARE_BRACKETS + companyId + RIGHT_SQUARE_BRACKETS).or() + .eq(HrOrganization::getOrgId, companyId).select(HrOrganization::getOrgId); + List organizations = this.list(wrapper); + homeCompanyInfo.setCurrentDeptNum(organizations.size()); + + // 5. 当前机构下的人员数量 + if (ObjectUtil.isEmpty(organizations)) { + homeCompanyInfo.setCurrentCompanyPersonNum(0L); + } else { + List orgIdList = organizations.stream().map(HrOrganization::getOrgId).collect(Collectors.toList()); + long userCount = sysUserOrgService.count(new LambdaQueryWrapper().in(SysUserOrg::getOrgId, orgIdList)); + homeCompanyInfo.setCurrentCompanyPersonNum(userCount); + } + + return homeCompanyInfo; } /**