From 2482d916fb1322eb814a03f7ef27fff0c20e77e5 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Mon, 18 Mar 2024 11:38:08 +0800
Subject: [PATCH] 地址总表详情查询添加房屋标签

---
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |  100 +++++++++++++++++++++++++++++---------------------
 1 files changed, 58 insertions(+), 42 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 96bf11a..3c5fc89 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
@@ -27,6 +27,7 @@
 import org.springblade.common.param.CommonParamSet;
 import org.springblade.common.utils.ComplexNumberStringComparator;
 import org.springblade.common.utils.NodeTreeUtil;
+import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.modules.category.dto.CategoryDTO;
 import org.springblade.modules.category.service.ICategoryService;
@@ -45,9 +46,11 @@
 import org.springblade.modules.grid.service.IGridService;
 import org.springblade.modules.grid.service.IGridmanService;
 import org.springblade.modules.house.entity.HouseEntity;
+import org.springblade.modules.house.entity.UserHouseLabelEntity;
 import org.springblade.modules.house.service.IHouseRentalService;
 import org.springblade.modules.house.service.IHouseService;
 import org.springblade.modules.house.service.IHouseholdService;
+import org.springblade.modules.house.service.IUserHouseLabelService;
 import org.springblade.modules.house.vo.HouseParam;
 import org.springblade.modules.house.vo.HouseRentalVO;
 import org.springblade.modules.house.vo.HouseholdVO;
@@ -568,7 +571,7 @@
 				} else {
 					if (!containsNumber(funcNode.getUnitName())) {
 						funcNode.setSort(1);
-					}else {
+					} else {
 						funcNode.setSort(getNumber(funcNode.getUnitName()));
 					}
 				}
@@ -581,6 +584,7 @@
 
 	/**
 	 * 判断是否包含数字
+	 *
 	 * @param str
 	 * @return
 	 */
@@ -592,10 +596,11 @@
 
 	/**
 	 * 取出字符串中的数字
+	 *
 	 * @param str
 	 * @return
 	 */
-	public static int getNumber(String str){
+	public static int getNumber(String str) {
 		StringBuilder sb = new StringBuilder();
 		for (char c : str.toCharArray()) {
 			if (Character.isDigit(c)) {
@@ -757,9 +762,9 @@
 	private void handleHouseData(String townName) {
 		// 查询总数
 		Integer count = baseMapper.getNotHouseListCount(townName);
-		if (count>0) {
-			int num = count/1000;
-			for (int i = 0; i <= num+1; i++) {
+		if (count > 0) {
+			int num = count / 1000;
+			for (int i = 0; i <= num + 1; i++) {
 				// 查询所有户室数据(未入库的)
 				List<DoorplateAddressEntity> list = baseMapper.getHouseList(townName);
 				// 需要新增的房屋 list
@@ -833,7 +838,7 @@
 				// 加入集合
 				districtService.save(districtEntity);
 //				aoiList.add(districtEntity);
-			}else {
+			} else {
 				// 更新
 				one.setCommunityCode(addressEntity.getNeiCode());
 				one.setAoiCode(addressEntity.getAoiCode());
@@ -868,26 +873,26 @@
 			for (DoorplateAddressEntity addressEntity : list) {
 				// pio 名称不为空的进行插入操作
 //				if (!Strings.isBlank(addressEntity.getPoi())) {
-					PlaceEntity placeEntity = new PlaceEntity();
-					placeEntity.setHouseCode(addressEntity.getAddressCode());
-					placeEntity.setPlaceName(addressEntity.getPoi());
-					placeEntity.setLng(addressEntity.getX());
-					placeEntity.setLat(addressEntity.getY());
-					placeEntity.setLocation(addressEntity.getAddressName());
-					// 设置来源( 1:地址总表  2:国控采集 3:商超)
-					placeEntity.setSource(1);
-					// 待完善
-					placeEntity.setStatus(1);
-					// 默认为非九小场所
-					placeEntity.setIsNine(2);
-					// 默认为现场采集
-					placeEntity.setIsScene(1);
-					// 加入集合
+				PlaceEntity placeEntity = new PlaceEntity();
+				placeEntity.setHouseCode(addressEntity.getAddressCode());
+				placeEntity.setPlaceName(addressEntity.getPoi());
+				placeEntity.setLng(addressEntity.getX());
+				placeEntity.setLat(addressEntity.getY());
+				placeEntity.setLocation(addressEntity.getAddressName());
+				// 设置来源( 1:地址总表  2:国控采集 3:商超)
+				placeEntity.setSource(1);
+				// 待完善
+				placeEntity.setStatus(1);
+				// 默认为非九小场所
+				placeEntity.setIsNine(2);
+				// 默认为现场采集
+				placeEntity.setIsScene(1);
+				// 加入集合
 //					placeList.add(placeEntity);
-					// 保存
-					placeService.save(placeEntity);
-					// 新增场所详情
-					savePlaceExtAndTaskInfo(placeEntity);
+				// 保存
+				placeService.save(placeEntity);
+				// 新增场所详情
+				savePlaceExtAndTaskInfo(placeEntity);
 //				}
 			}
 			// 批量插入
@@ -899,6 +904,7 @@
 
 	/**
 	 * 新增场所详情
+	 *
 	 * @param placeEntity
 	 */
 	public void savePlaceExtAndTaskInfo(PlaceEntity placeEntity) {
@@ -906,8 +912,8 @@
 		placeExtEntity.setPlaceId(placeEntity.getId());
 		// 判断是否已存在,已存在则不新增
 		QueryWrapper<PlaceExtEntity> wrapper = new QueryWrapper<>();
-		wrapper.eq("is_deleted",0)
-			.eq("place_id",placeEntity.getId());
+		wrapper.eq("is_deleted", 0)
+			.eq("place_id", placeEntity.getId());
 		PlaceExtEntity one = placeExtService.getOne(wrapper);
 		if (null == one) {
 			placeExtEntity.setPlaceId(placeEntity.getId());
@@ -929,10 +935,10 @@
 	public Object getDetail(DoorplateAddressVO doorplateAddress) {
 		List<String> list = new ArrayList<>();
 		// 扫码时调用,需判断是否有权限查看
-		DoorplateAddressVO one = baseMapper.getDoorplateAddressVODetail(doorplateAddress);
-		if (null != one) {
+		DoorplateAddressVO doorplateAddressVO = baseMapper.getDoorplateAddressVODetail(doorplateAddress);
+		if (null != doorplateAddressVO) {
 			// 不限制
-			one.setIsJur(1);
+			doorplateAddressVO.setIsJur(1);
 			if (!Strings.isBlank(doorplateAddress.getRoleName())) {
 				// 判断是否有权限
 				if (doorplateAddress.getRoleName().equals("网格员")) {
@@ -940,27 +946,35 @@
 					boolean contains = list.contains(doorplateAddress.getAddressCode());
 					if (list.size() == 0 || !contains) {
 						// 无权限
-						one.setIsJur(2);
+						doorplateAddressVO.setIsJur(2);
 					} else {
-						one.setIsJur(1);
+						doorplateAddressVO.setIsJur(1);
 					}
 				} else if (doorplateAddress.getRoleName().equals("民警")) {
 					// 无权限
-					one.setIsJur(2);
+					doorplateAddressVO.setIsJur(2);
 					// 查询对应的社区code
 					list = policeAffairsGridService.getCommunityCodeListByUserId(AuthUtil.getUserId());
-					if (null!=list && list.size()>0){
-						boolean contains = list.contains(one.getNeiCode());
+					if (null != list && list.size() > 0) {
+						boolean contains = list.contains(doorplateAddressVO.getNeiCode());
 						if (contains) {
-							one.setIsJur(1);
+							doorplateAddressVO.setIsJur(1);
 						}
 					}
 				} else {
 					// 不限制
-					one.setIsJur(1);
+					doorplateAddressVO.setIsJur(1);
 				}
 			}
-			return one;
+			if(doorplateAddressVO != null ){
+				//  获取房屋标签
+				IUserHouseLabelService userHouseLabelService = SpringUtils.getBean(IUserHouseLabelService.class);
+				List<UserHouseLabelEntity> houseLabelEntityList = userHouseLabelService.list(Wrappers.<UserHouseLabelEntity>lambdaQuery()
+					.eq(UserHouseLabelEntity::getHouseCode, doorplateAddressVO.getAddressCode())
+					.eq(UserHouseLabelEntity::getLableType, 2));
+				doorplateAddressVO.setUserHouseLabelVOList(houseLabelEntityList);
+			}
+			return doorplateAddressVO;
 		}
 		return null;
 	}
@@ -996,6 +1010,7 @@
 
 	/**
 	 * 查询场所标准地址数据
+	 *
 	 * @param doorplateAddress
 	 * @param size
 	 * @return
@@ -1003,22 +1018,23 @@
 	@Override
 	public Object getPlaceList(DoorplateAddressVO doorplateAddress, Integer size) {
 		// 公共参数设置
-		CommonParamSet commonParamSet = new CommonParamSet().invoke(DoorplateAddressVO.class,doorplateAddress);
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(DoorplateAddressVO.class, doorplateAddress);
 		return baseMapper.getPlaceList(doorplateAddress,
-			null==size?10:size,
+			null == size ? 10 : size,
 			commonParamSet.getGridCodeList(),
 			commonParamSet.getRegionChildCodesList(),
 			commonParamSet.getIsAdministrator()
-			);
+		);
 	}
 
 	/**
 	 * 通过小区id 查询楼栋编码
+	 *
 	 * @param districtId
 	 * @return
 	 */
 	@Override
-	public 	List<DoorplateAddressVO>  getHouseBuildingCode(String districtId) {
+	public List<DoorplateAddressVO> getHouseBuildingCode(String districtId) {
 		return baseMapper.getHouseBuildingCode(districtId);
 	}
 }

--
Gitblit v1.9.3