|
@@ -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;
|
|
|
+ }
|
|
|
}
|