| | |
| | | import com.dg.core.db.gen.entity.OrganizationChartEntity; |
| | | import com.dg.core.db.gen.mapper.OrganizationChartMapper; |
| | | import com.dg.core.service.IOrganizationChartService; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | |
| | | @Override |
| | | public List<OrganizationChartEntity> selectConfigList(String parentId,String grade,List<String> ids) |
| | | { |
| | | List<OrganizationChartEntity> ocList=baseMapper.selectConfigList("","1",ids); |
| | | List<OrganizationChartEntity> ocList=baseMapper.selectConfigList(parentId,"1",ids); |
| | | |
| | | if(ocList==null || ocList.size()<1) |
| | | { |
| | | List<String> id=new ArrayList<>(); |
| | | id.add(parentId); |
| | | ocList=baseMapper.selectConfigList(null,null,id); |
| | | } |
| | | |
| | | for (OrganizationChartEntity entity:ocList) |
| | | { |
| | | entity.setChild(baseMapper.selectConfigList(entity.getId()+"","",ids)); |
| | | entity.setChild(baseMapper.selectConfigList(entity.getId()+"","",null)); |
| | | |
| | | if (entity.getChild()!=null) |
| | | { |
| | | entity.setChild(this.selectConfigList(entity.getId().toString())); |
| | | } |
| | | } |
| | | return ocList; |
| | | } |
| | | |
| | | @Override |
| | | public List<OrganizationChartEntity> selectConfigList(List<String> ids) { |
| | | List<OrganizationChartEntity> ocList=baseMapper.selectConfigList(null,null,ids); |
| | | return ocList; |
| | | } |
| | | |
| | |
| | | return ids; |
| | | } |
| | | |
| | | @Override |
| | | public List<String> getDepartmentId(String id){ |
| | | String parentId = parentId(id); |
| | | List<String> departmentIds=new ArrayList<>(); |
| | | departmentIds.add(parentId); |
| | | List<OrganizationChartEntity> organizationChartEntities = baseMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda().eq(OrganizationChartEntity::getParentId, parentId)); |
| | | for (OrganizationChartEntity organizationChart :organizationChartEntities){ |
| | | departmentIds.add(organizationChart.getId().toString()); |
| | | departmentIds=getDepartmentIds(organizationChart.getId().toString(),departmentIds); |
| | | } |
| | | return departmentIds; |
| | | } |
| | | |
| | | |
| | | public String parentId(String id){ |
| | | String parentId=id; |
| | | OrganizationChartEntity organizationChart = baseMapper.selectOne(new QueryWrapper<OrganizationChartEntity>().lambda().eq(OrganizationChartEntity::getId, id)); |
| | | if (organizationChart.getParentId().length()>0){ |
| | | parentId=parentId(organizationChart.getParentId()); |
| | | } |
| | | return parentId; |
| | | } |
| | | |
| | | public List<String> getDepartmentIds(String id,List<String> departmentIds){ |
| | | List<OrganizationChartEntity> organizationChartEntities = baseMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda().eq(OrganizationChartEntity::getParentId, id)); |
| | | if (organizationChartEntities.size()==0){ |
| | | return departmentIds; |
| | | } |
| | | else { |
| | | for (OrganizationChartEntity organizationChart :organizationChartEntities){ |
| | | departmentIds.add(organizationChart.getId().toString()); |
| | | departmentIds=getDepartmentIds(organizationChart.getId().toString(),departmentIds); |
| | | } |
| | | } |
| | | return departmentIds; |
| | | } |
| | | |
| | | |
| | | |
| | | //递归取id |