| 
					
				 | 
			
			
				@@ -31,7 +31,6 @@ import javax.servlet.http.HttpServletResponse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Set; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -143,14 +142,13 @@ public class EmsFacsController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 查询区域树 (根据设施类型过滤) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param facsCategory    设施类别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param facsSubCategory 设施子类别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param parentCode   父区域编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param facsCategory 设施类别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @GetMapping("/getAreaTreeByFacsCategory") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public AjaxResult getAreaTreeByFacsCategory( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @GetMapping("/getFacsCategoryTree") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult getFacsCategoryTree( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         @RequestParam(name = "parentCode", required = false, defaultValue = "0") String parentCode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        @RequestParam(name = "facsCategory", required = false) String facsCategory, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        @RequestParam(name = "facsSubCategory", required = false) String facsSubCategory) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @RequestParam(name = "facsCategory", required = false) String facsCategory) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 查询区域树 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Area> areaTree = areaService.selectAreaTree(parentCode, false); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -158,29 +156,56 @@ public class EmsFacsController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 查询设施列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         EmsFacs facsParam = new EmsFacs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         facsParam.setFacsCategory(facsCategory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        facsParam.setFacsSubCategory(facsSubCategory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<EmsFacs> facsList = facsService.selectEmsFacsList(facsParam); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Set<String> facsAreaCodes = facsList.stream().map(EmsFacs::getRefArea).collect(Collectors.toSet()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<String, List<EmsFacs>> groupByCaregory = facsList.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, List<EmsFacs>> groupByArea = facsList.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             .collect(Collectors.groupingBy(EmsFacs::getRefArea, Collectors.toList())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 过滤树节点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        areaTree = AreaUtils.filterTree(areaTree, facsAreaCodes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<TreeEntity> retList = AreaUtils.convertAreaTree(areaTree); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (TreeEntity treeEntity : retList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<TreeEntity> facsCategoryList = new ArrayList<TreeEntity>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (groupByCaregory.containsKey(FacsCategoryType.E.name())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<EmsFacs> facsTemp = groupByArea.get(treeEntity.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (CollectionUtils.isNotEmpty(facsTemp)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Map<String, List<EmsFacs>> groupByCaregory = facsTemp.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .collect(Collectors.groupingBy(EmsFacs::getFacsCategory, Collectors.toList())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (CollectionUtils.isNotEmpty(facsCategoryList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<TreeEntity> facsCategoryList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                facsCategoryList.addAll(buildSubTree(FacsCategoryType.E, groupByCaregory)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                facsCategoryList.addAll(buildSubTree(FacsCategoryType.W, groupByCaregory)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                facsCategoryList.addAll(buildSubTree(FacsCategoryType.C, groupByCaregory)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                facsCategoryList.addAll(buildSubTree(FacsCategoryType.Z, groupByCaregory)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 treeEntity.setChildren(facsCategoryList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return success(retList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private List<TreeEntity> buildSubTree(FacsCategoryType type, Map<String, List<EmsFacs>> groupByCaregory) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TreeEntity> retList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<EmsFacs> facsList = groupByCaregory.get(type.name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(facsList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            TreeEntity cnEntity = new TreeEntity(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cnEntity.setId(type.name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cnEntity.setLabel(type.getTypeName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cnEntity.setChildren(convertEntity(facsList)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            retList.add(cnEntity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return retList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static List<TreeEntity> convertEntity(List<EmsFacs> facsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TreeEntity> retList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        facsList.forEach(facs -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            TreeEntity treeEntity = new TreeEntity(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            treeEntity.setId(facs.getFacsCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            treeEntity.setLabel(facs.getFacsName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            retList.add(treeEntity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return retList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |