From ad0bc4e763fa988a2ec4dd8dfab7381ea7726021 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 06 Jan 2024 17:46:48 +0800
Subject: [PATCH] 区划树查询修改

---
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |   78 ++++++++++++++++++++++++++++----------
 1 files changed, 57 insertions(+), 21 deletions(-)

diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
index bdfb540..3b2f91b 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -199,23 +199,32 @@
 			houseNode.setId("1");
 			houseNode.setHasChildren(true);
 			houseNode.setChildren(houseNodeList);
+			list.add(houseNode);
 
 			TreeStringNode placeNode = new TreeStringNode();
 			placeNode.setName("场所");
 			placeNode.setId("2");
 			placeNode.setHasChildren(true);
 			placeNode.setChildren(placeNodeList);
-
-			list.add(houseNode);
 			list.add(placeNode);
 			// 返回
 			return list;
 		}
 		if (houseNodeList.size()>0){
-			list = houseNodeList;
+			TreeStringNode houseNode = new TreeStringNode();
+			houseNode.setName("房屋");
+			houseNode.setId("1");
+			houseNode.setHasChildren(true);
+			houseNode.setChildren(houseNodeList);
+			list.add(houseNode);
 		}
 		if (placeNodeList.size()>0){
-			list = placeNodeList;
+			TreeStringNode placeNode = new TreeStringNode();
+			placeNode.setName("场所");
+			placeNode.setId("2");
+			placeNode.setHasChildren(true);
+			placeNode.setChildren(placeNodeList);
+			list.add(placeNode);
 		}
 		// 返回
 		return list;
@@ -318,8 +327,31 @@
 			getGridInfoByGridman(houseParam);
 			// 查询商超
 			List<FuncNode> doorplateNameList = baseMapper.getPlaceRelDetailList(houseParam);
+			// 按单元(网格)分组
+			Map<String, List<FuncNode>> listMap = doorplateNameList.stream().collect(Collectors.groupingBy(FuncNode::getUnitName));
+			//
+			List<FuncNode> tempList = new ArrayList<>();
+			// 遍历
+			listMap.forEach((s, temps) -> {
+				FuncNode funcNode = new FuncNode();
+				funcNode.setUnitName(s);
+				funcNode.setAddressType(4);
+				funcNode.setUnitCode(temps.get(0).getUnitCode());
+				funcNode.setChildren(temps);
+				// 查询网格对应的排序
+				QueryWrapper<GridEntity> wrapper = new QueryWrapper<>();
+				wrapper.eq("community_code",funcNode.getUnitCode()).eq("grid_name",funcNode.getUnitName());
+				// 查询网格
+				GridEntity one = gridService.getOne(wrapper);
+				if (null!=one){
+					funcNode.setSort(one.getSort());
+				}
+				tempList.add(funcNode);
+			});
+			// 排序
+			List<FuncNode> sortList = tempList.stream().sorted(Comparator.comparing(X -> X.getSort())).collect(Collectors.toList());
 			map.put("aoiList",new ArrayList<>());
-			map.put("shopList",doorplateNameList);
+			map.put("shopList",sortList);
 			// 返回
 			return map;
 		}
@@ -432,24 +464,26 @@
 				firstKey = key;
 				break;
 			}
-			if (firstKey.equals("未知单元")){
-				// 取出数据按楼层分组
-				List<FuncNode> unitList = listMap.get(firstKey);
-				Map<String, List<FuncNode>> floorListMap = unitList.stream().collect(Collectors.groupingBy(FuncNode::getFloor));
-				List<FuncNode> funcNodeList  = new ArrayList<>();
-				floorListMap.forEach((s, temps) -> {
-					FuncNode funcNode = new FuncNode();
-					funcNode.setFloor(s);
-					funcNode.setChildren(temps);
-					funcNode.setAddressType(1);
-					funcNodeList.add(funcNode);
-				});
+			// 取出数据按楼层分组
+			List<FuncNode> unitList = listMap.get(firstKey);
+			Map<String, List<FuncNode>> floorListMap = unitList.stream().collect(Collectors.groupingBy(FuncNode::getFloor));
+			List<FuncNode> funcNodeList  = new ArrayList<>();
+			floorListMap.forEach((s, temps) -> {
 				FuncNode funcNode = new FuncNode();
-				funcNode.setUnitName("一单元");
-				funcNode.setChildren(funcNodeList);
+				funcNode.setFloor(s);
+				funcNode.setChildren(temps);
 				funcNode.setAddressType(1);
-				list.add(funcNode);
+				funcNodeList.add(funcNode);
+			});
+			FuncNode funcNode = new FuncNode();
+			if (firstKey.equals("未知单元")) {
+				funcNode.setUnitName("一单元");
+			}else {
+				funcNode.setUnitName(firstKey);
 			}
+			funcNode.setChildren(funcNodeList);
+			funcNode.setAddressType(1);
+			list.add(funcNode);
 		}
 	}
 
@@ -759,7 +793,7 @@
 					placeEntity.setPlaceName(addressEntity.getPoi());
 					placeEntity.setLng(addressEntity.getX());
 					placeEntity.setLat(addressEntity.getY());
-					placeEntity.setLocaltion(addressEntity.getAddressName());
+					placeEntity.setLocation(addressEntity.getAddressName());
 					// 设置来源( 1:地址总表  2:国控采集)
 					placeEntity.setSource(1);
 					// 加入集合
@@ -782,6 +816,8 @@
 		// 扫码时调用,需判断是否有权限查看
 		DoorplateAddressVO one = baseMapper.getDoorplateAddressVODetail(doorplateAddress);
 		if (null!=one){
+			// 不限制
+			one.setIsJur(1);
 			if (!Strings.isBlank(doorplateAddress.getRoleName())) {
 				// 判断是否有权限
 				if (doorplateAddress.getRoleName().equals("网格员")) {

--
Gitblit v1.9.3