【7.6.0】【框架改造】修复错误的引用

pull/55/head
fengshuonan 2023-05-08 16:08:39 +08:00
parent 5414612242
commit 38305dede6
8 changed files with 79 additions and 153 deletions

View File

@ -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<HomeCompanyInfo> getHomeCompanyInfo() {
return new SuccessResponseData<>(hrOrganizationService.getHomeCompanyInfo());
}
}

View File

@ -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<HrOrganization>, Organiz
*/
List<HrOrganizationDTO> getSubOrgList(HrOrganizationRequest request);
/**
*
*
* @author fengshuonan
* @since 2022/2/11 21:03
*/
HomeCompanyInfo getHomeCompanyInfo();
}

View File

@ -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<HrOrganizationMapper,
@Resource
private DbOperatorApi dbOperatorApi;
@Resource
private PositionServiceApi positionServiceApi;
@Resource
private SysUserOrgService sysUserOrgService;
@Override
@Transactional(rollbackFor = Exception.class)
public void add(HrOrganizationRequest hrOrganizationRequest) {
@ -523,6 +535,44 @@ public class HrOrganizationServiceImpl extends ServiceImpl<HrOrganizationMapper,
return getOrgCompanyInfo(orgDetail.getOrgParentId());
}
@Override
public HomeCompanyInfo getHomeCompanyInfo() {
HomeCompanyInfo homeCompanyInfo = new HomeCompanyInfo();
// 获取组织机构总数量
long count = this.count();
homeCompanyInfo.setOrganizationNum(Convert.toInt(count));
// 获取企业人员总数量
SysUserRequest sysUserRequest = new SysUserRequest();
List<Long> 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<HrOrganization> wrapper = Wrappers.lambdaQuery(HrOrganization.class)
.like(HrOrganization::getOrgPids, LEFT_SQUARE_BRACKETS + organizationId + RIGHT_SQUARE_BRACKETS)
.or()
.eq(HrOrganization::getOrgId, organizationId)
.select(HrOrganization::getOrgId);
List<HrOrganization> organizations = this.list(wrapper);
homeCompanyInfo.setCurrentDeptNum(organizations.size());
// 设置当前所属机构和所有子机构的人数
List<Long> 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
*

View File

@ -102,27 +102,6 @@
<optional>true</optional>
</dependency>
<!--用户业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-user</artifactId>
<version>${roses.version}</version>
</dependency>
<!--菜单业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-menu</artifactId>
<version>${roses.version}</version>
</dependency>
<!--组织业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-organization</artifactId>
<version>${roses.version}</version>
</dependency>
<!-- 拦截接口,记录常用功能 -->
<dependency>
<groupId>org.springframework.boot</groupId>
@ -137,13 +116,6 @@
<version>${roses.version}</version>
</dependency>
<!--资源模块-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-resource</artifactId>
<version>${roses.version}</version>
</dependency>
<!--jwt相关参数-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>

View File

@ -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<HomeCompanyInfo> getHomeCompanyInfo() {
return new SuccessResponseData<>(homePageService.getHomeCompanyInfo());
}
/**
*
*

View File

@ -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();
/**
*
*

View File

@ -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<Map<Long, Integer>> 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<Long> 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<HrOrganization> wrapper = Wrappers.lambdaQuery(HrOrganization.class)
.like(HrOrganization::getOrgPids, LEFT_SQUARE_BRACKETS + organizationId + RIGHT_SQUARE_BRACKETS)
.or()
.eq(HrOrganization::getOrgId, organizationId)
.select(HrOrganization::getOrgId);
List<HrOrganization> organizations = hrOrganizationService.list(wrapper);
homeCompanyInfo.setCurrentDeptNum(organizations.size());
// 设置当前所属机构和所有子机构的人数
List<Long> 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<SysMenu> getCommonFunctions() {

View File

@ -24,45 +24,17 @@
<version>${roses.version}</version>
</dependency>
<!--菜单管理的业务-->
<!--组织机构人力的业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-menu</artifactId>
<artifactId>system-business-hr</artifactId>
<version>${roses.version}</version>
</dependency>
<!--组织机构管理的业务-->
<!--门户业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-organization</artifactId>
<version>${roses.version}</version>
</dependency>
<!--资源管理的业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-resource</artifactId>
<version>${roses.version}</version>
</dependency>
<!--角色管理的业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-role</artifactId>
<version>${roses.version}</version>
</dependency>
<!--主题管理业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-theme</artifactId>
<version>${roses.version}</version>
</dependency>
<!--用户管理的业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-user</artifactId>
<artifactId>system-business-portal</artifactId>
<version>${roses.version}</version>
</dependency>
@ -80,20 +52,6 @@
<optional>true</optional>
</dependency>
<!--通知管理的业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-portal</artifactId>
<version>${roses.version}</version>
</dependency>
<!--首页统计的业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-business-home</artifactId>
<version>${roses.version}</version>
</dependency>
<!--expand字段拓展业务-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>