【8.3.3】【org】增加获取指定机构指定层级的机构

pull/62/head
stylefeng 2025-02-06 17:20:09 +08:00
parent f1c5c0b8ac
commit c8792f193d
2 changed files with 38 additions and 0 deletions

View File

@ -95,4 +95,17 @@ public interface OrganizationServiceApi {
*/
Long getParentOrgLevel(Long orgId, String orgLevelCode);
/**
*
* <p>
* //
* <p>
*
* @param hrOrganizationDTO
* @param levelCode sys_hr_organization_levellevelCode
* @author fengshuonan
* @since 2025/2/6 16:39
*/
HrOrganizationDTO getParentOrgByDataScopeType(HrOrganizationDTO hrOrganizationDTO, String levelCode);
}

View File

@ -481,6 +481,31 @@ public class HrOrganizationServiceImpl extends ServiceImpl<HrOrganizationMapper,
return null;
}
@Override
public HrOrganizationDTO getParentOrgByDataScopeType(HrOrganizationDTO hrOrganizationDTO, String levelCode) {
if (hrOrganizationDTO == null) {
return null;
}
// 查询父级单位
String orgPids = hrOrganizationDTO.getOrgPids();
if (StrUtil.isBlank(orgPids)) {
return null;
}
List<Long> parentIdList = ParentIdParseUtil.parseToPidList(orgPids);
LambdaQueryWrapper<HrOrganization> wrapper = new LambdaQueryWrapper<>();
wrapper.in(HrOrganization::getOrgId, parentIdList);
List<HrOrganization> list = this.list(wrapper);
// 遍历父级单位,找到指定参数层级对应的机构
for (HrOrganization hrOrganization : list) {
String orgLevelCode = hrOrganization.getLevelCode();
if (orgLevelCode.equals(levelCode)) {
return BeanUtil.copyProperties(hrOrganization, HrOrganizationDTO.class);
}
}
return null;
}
@Override
public HomeCompanyInfo orgStatInfo() {