| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -9,6 +9,7 @@ import com.epmet.commons.tools.page.PageData; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.redis.common.CustomerStaffRedis; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.utils.EpmetRequestHolder; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.coverage.AnalysisGovernedTargetsResult; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.coverage.AnalysisResourceCategoriesResult; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -26,6 +27,7 @@ import com.epmet.dataaggre.service.govorg.GovOrgCoverageService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.service.govorg.GovOrgService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.service.govproject.GovProjectService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.service.heart.HeartService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import jodd.util.StringUtil; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import lombok.extern.slf4j.Slf4j; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import org.apache.commons.collections4.CollectionUtils; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import org.apache.commons.lang3.StringUtils; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -474,15 +476,18 @@ public class CoverageServiceImpl implements CoverageService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // 1.查询categoryDict表得到基础数据,每个图层循环一次
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        for (CoverageEnums coverage : CoverageEnums.values()) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            // 只要右边的
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (!coverage.getPosition().equals(Integer.valueOf(2))) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (!coverage.getType().equals(1)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                continue; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            AnalysisResourceCategoriesResult categoriesOfThisCoverage = new AnalysisResourceCategoriesResult(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            HashMap<String, AnalysisResourceCategoriesResult.PlaceType> placeTypeMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<IcCoverageCategoryDictEntity> categoryDictEntities = govOrgCoverageService.listCoverageCategoryEntities(coverage.getCoverageType()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<IcCoverageCategoryDictEntity> categoryDictEntities = govOrgCoverageService.listResourceCategoryEntities(coverage.getKey()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (CollectionUtils.isEmpty(categoryDictEntities)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                continue; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            // 2.根据menuUrl过滤 todo
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -516,12 +521,54 @@ public class CoverageServiceImpl implements CoverageService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                total.updateAndGet(v -> v + placeType.getCount()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            categoriesOfThisCoverage.setCoverageType(coverage.getCoverageType()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            categoriesOfThisCoverage.setCoverageName(CoverageEnums.getEnum(coverage.getCoverageType()).getCoverageName()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            categoriesOfThisCoverage.setCoverageType(coverage.getKey()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            categoriesOfThisCoverage.setCoverageName(CoverageEnums.getEnum(coverage.getKey()).getCoverageName()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            categoriesOfThisCoverage.setCount(total.get()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            results.add(categoriesOfThisCoverage); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return results; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Override | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public List<AnalysisGovernedTargetsResult> listGovernedTargetCategories() { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<IcCoverageCategoryDictEntity> targetCategories = govOrgCoverageService.listGovernedTargetCategoryEntities(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (CollectionUtils.isEmpty(targetCategories)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return new ArrayList<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<AnalysisGovernedTargetsResult> results = new ArrayList<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String, List<AnalysisGovernedTargetsResult>> placeTypeMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        targetCategories.forEach(rc -> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String placeTypeInAnalysis = rc.getPlaceTypeInAnalysis(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (StringUtils.isEmpty(placeTypeInAnalysis)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                // 只有一层,没有子级
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                results.add(new AnalysisGovernedTargetsResult(rc.getCategoryKey(), rc.getCategoryName(), rc.getCoverageType(), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        rc.getPlaceType(), CoveragePlaceTypeEnum.getEnum(rc.getPlaceType()).getName(), 0, new ArrayList<>())); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                // 有子级,需要使用placeTypeInAnalysis分组
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                List<AnalysisGovernedTargetsResult> targets = placeTypeMap.get(placeTypeInAnalysis); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if (CollectionUtils.isEmpty(targets)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    targets = new ArrayList<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    placeTypeMap.put(placeTypeInAnalysis, targets); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                targets.add(new AnalysisGovernedTargetsResult(rc.getCategoryKey(), rc.getCategoryName(), rc.getCoverageType(), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        rc.getPlaceType(), CoveragePlaceTypeEnum.getEnum(rc.getPlaceType()).getName(), 0, new ArrayList<>())); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (placeTypeMap.size() > 0) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            placeTypeMap.forEach((placeTypeInAnalysis, targetObjects) -> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                AnalysisGovernedTargetsResult tr = new AnalysisGovernedTargetsResult(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                tr.setPlaceType(placeTypeInAnalysis); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                tr.setPlaceTypeName(CoveragePlaceTypeEnum.getEnum(placeTypeInAnalysis).getName()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                tr.setChildren(targetObjects); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                results.add(tr); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return results; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} |