【8.3.3】【sys】【org】组织机构列表接口,返回层级的信息

pull/62/head
stylefeng 2025-01-22 11:06:02 +08:00
parent 1d6560d6c7
commit d4d4ada053
3 changed files with 27 additions and 3 deletions

View File

@ -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) {

View File

@ -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<HrOrganizationMapper,
@Resource(name = "sysOrgInfoCache")
private CacheOperatorApi<HrOrganizationDTO> sysOrgInfoCache;
@Resource
private OrganizationLevelService organizationLevelService;
@Override
public void add(HrOrganizationRequest hrOrganizationRequest) {
HrOrganization hrOrganization = new HrOrganization();
@ -202,10 +208,18 @@ public class HrOrganizationServiceImpl extends ServiceImpl<HrOrganizationMapper,
// 只查询需要的字段
wrapper.select(HrOrganization::getOrgId, HrOrganization::getOrgName, HrOrganization::getOrgCode, HrOrganization::getStatusFlag,
HrOrganization::getOrgType, HrOrganization::getOrgSort, BaseEntity::getCreateTime);
HrOrganization::getOrgType, HrOrganization::getOrgSort, BaseEntity::getCreateTime, HrOrganization::getLevelCode);
Page<HrOrganization> sysRolePage = this.page(PageFactory.defaultPage(), wrapper);
return PageResultFactory.createPageResult(sysRolePage);
Page<HrOrganization> hrOrganizationPage = this.page(PageFactory.defaultPage(), wrapper);
List<HrOrganization> records = hrOrganizationPage.getRecords();
// 填充组织机构层级的详情
List<OrganizationLevel> 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

View File

@ -28,6 +28,9 @@ public class OrganizationLevelServiceImpl extends ServiceImpl<OrganizationLevelM
@Override
public List<OrganizationLevel> findList(OrganizationLevelRequest organizationLevelRequest) {
LambdaQueryWrapper<OrganizationLevel> wrapper = this.createWrapper(organizationLevelRequest);
wrapper.select(OrganizationLevel::getOrgLevelId, OrganizationLevel::getLevelCode, OrganizationLevel::getLevelNumber, OrganizationLevel::getLevelName, OrganizationLevel::getLevelColor);
return this.list(wrapper);
}