From daef9edffb73d542ff1eba4beb215ffc7b306254 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 28 Dec 2023 18:44:46 +0800
Subject: [PATCH] bug 修复

---
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |   78 +++++++++++++++++++++++++--------------
 1 files changed, 50 insertions(+), 28 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 fb04f78..703f7dc 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
@@ -20,15 +20,14 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
 import org.apache.logging.log4j.util.Strings;
 import org.springblade.common.constant.DictConstant;
 import org.springblade.common.node.TreeStringNode;
 import org.springblade.common.utils.ComplexNumberStringComparator;
 import org.springblade.common.utils.NodeTreeUtil;
 import org.springblade.core.secure.utils.AuthUtil;
-import org.springblade.modules.category.dto.CategoryLabelDTO;
-import org.springblade.modules.category.service.ICategoryLabelService;
+import org.springblade.modules.category.dto.CategoryDTO;
+import org.springblade.modules.category.service.ICategoryService;
 import org.springblade.modules.community.entity.CommunityEntity;
 import org.springblade.modules.community.service.ICommunityService;
 import org.springblade.modules.district.entity.DistrictEntity;
@@ -95,7 +94,7 @@
 	private IDistrictService districtService;
 
 	@Autowired
-	private ICategoryLabelService iCategoryLabelService;
+	private ICategoryService iCategoryService;
 
 	@Autowired
 	private ICommunityService communityService;
@@ -181,10 +180,10 @@
 		List<TreeStringNode> placeNodeList = placeService.selectPlaceNodeList(AuthUtil.getUserId());
 		for (TreeStringNode treeNode : placeNodeList) {
 			treeNode.setAddressType(2);
-			CategoryLabelDTO categoryLabelDTO = new CategoryLabelDTO();
-			categoryLabelDTO.setPlaceId(treeNode.getId());
-			List<CategoryLabelDTO> categoryLabelDTOS = iCategoryLabelService.selectCategoryLabelList(categoryLabelDTO);
-			treeNode.setCategoryLabelList(categoryLabelDTOS);
+			CategoryDTO categoryDTO = new CategoryDTO();
+			categoryDTO.setPlaceId(treeNode.getId());
+			List<CategoryDTO> categoryDTOS = iCategoryService.selectCategoryLabelList(categoryDTO);
+			treeNode.setCategoryList(categoryDTOS);
 //			if (DictConstant.SMALL_DOORPLATE.equals(treeNode.getDoorplateType()) ||
 //				(DictConstant.centre_DOORPLATE.equals(treeNode.getDoorplateType()) &&
 //					treeNode.getAddressLevel().equals(1))) {
@@ -200,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;
@@ -433,24 +441,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);
 		}
 	}
 
@@ -760,7 +770,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);
 					// 加入集合
@@ -783,6 +793,8 @@
 		// 扫码时调用,需判断是否有权限查看
 		DoorplateAddressVO one = baseMapper.getDoorplateAddressVODetail(doorplateAddress);
 		if (null!=one){
+			// 不限制
+			one.setIsJur(1);
 			if (!Strings.isBlank(doorplateAddress.getRoleName())) {
 				// 判断是否有权限
 				if (doorplateAddress.getRoleName().equals("网格员")) {
@@ -794,6 +806,16 @@
 					}else {
 						one.setIsJur(1);
 					}
+				}else if (doorplateAddress.getRoleName().equals("民警")){
+					// 查询对应的社区code
+					list = communityService.getCommunityCodeListByUserId(AuthUtil.getUserId());
+					boolean contains =  list.contains(doorplateAddress.getNeiCode().replaceAll("0+$", ""));
+					if (list.size()==0 || !contains){
+						// 无权限
+						one.setIsJur(2);
+					}else {
+						one.setIsJur(1);
+					}
 				}else {
 					// 不限制
 					one.setIsJur(1);

--
Gitblit v1.9.3