| | |
| | | |
| | | for (OrgStaffRelDto orgStaffRelDto : orgStaffRels) { |
| | | orgStaffRelDto.setParentOrgId(orgStaffRelDto.getOrgId()); |
| | | findParents(orgStaffRelDto, orgDtos, null); |
| | | findParents(orgStaffRelDto, orgDtos, null, 0); |
| | | } |
| | | } |
| | | |
| | | private void findParents(OrgStaffRelDto orgStaffRelDto, List<OrgDto> orgDtos, OrgDto curOrgDto) { |
| | | private void findParents(OrgStaffRelDto orgStaffRelDto, List<OrgDto> orgDtos, OrgDto curOrgDto, int orgDeep) { |
| | | for (OrgDto orgDto : orgDtos) { |
| | | if (!orgStaffRelDto.getParentOrgId().equals(orgDto.getOrgId())) { // 他自己跳过 |
| | | continue; |
| | |
| | | orgStaffRelDto.setParentOrgId(orgDto.getParentOrgId()); |
| | | curOrgDto = orgDto; |
| | | if (StringUtil.isEmpty(orgStaffRelDto.getOrgName())) { |
| | | orgStaffRelDto.setOrgName(orgDto.getOrgName() ); |
| | | orgStaffRelDto.setOrgName(orgDto.getOrgName()); |
| | | continue; |
| | | } |
| | | orgStaffRelDto.setOrgName(orgDto.getOrgName() + " / " + orgStaffRelDto.getOrgName()); |
| | |
| | | if (curOrgDto != null && "-1".equals(curOrgDto.getParentOrgId())) { |
| | | return; |
| | | } |
| | | orgDeep += 1; |
| | | if (orgDeep > 20) { |
| | | return; |
| | | } |
| | | |
| | | findParents(orgStaffRelDto, orgDtos, curOrgDto); |
| | | findParents(orgStaffRelDto, orgDtos, curOrgDto, orgDeep); |
| | | } |
| | | } |