From 4fa495b3a31cff7a22ef5efff1d40eb26d5272ec Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 02 Feb 2024 14:36:44 +0800
Subject: [PATCH] getRegionChildCodesByDeptId 方法修改适配多部门

---
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java |   42 ++++++++++++++++++++++++++++++------------
 1 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index a102711..26d539e 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -148,6 +148,9 @@
 			PlaceEntity one = getOne(wrapper);
 			if (null!=one) {
 				placeVO.setId(one.getId());
+			}else {
+				// 新增,地址表中没有或者地址表中有场所表中没有的(是房屋的),扫码进来的
+				save(placeVO);
 			}
 			// 绑定用户信息
 			bindUserHandle(placeVO);
@@ -298,7 +301,7 @@
 			if (null != gridId) {
 				// 判断关联关系表是否存在
 				QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>();
-				wrapper.eq("grid_id", gridId).eq("house_code", placeVO.getHouseCode());
+				wrapper.eq("house_code", placeVO.getHouseCode());
 				GridRangeEntity one = gridRangeService.getOne(wrapper);
 				if (null == one) {
 					// 新增
@@ -309,7 +312,7 @@
 					gridRangeService.save(gridRangeEntity);
 				}else {
 					// 修改绑定
-					one.setGridId(placeVO.getGridId());
+					one.setGridId(gridId);
 					// 修改
 					gridRangeService.updateById(one);
 				}
@@ -344,11 +347,12 @@
 			//点坐标解析
 			String point = "'POINT(" + placeVO.getLng() + " " + placeVO.getLat() +")'";
 //			String point = "'POINT(" + villageInfoExcel.getLatitude() + " " + villageInfoExcel.getLongitude() +")'";
-			GridEntity gridEntity = gridMapper.spatialAnalysis(point);
-			if (null != gridEntity) {
+			List<GridEntity> gridEntityList = gridMapper.spatialAnalysis(point);
+			if (gridEntityList.size()>0) {
+				GridEntity gridEntity = gridEntityList.get(0);
 				// 判断关联关系表是否存在
 				QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>();
-				wrapper.eq("grid_id", gridEntity.getId()).eq("house_code", placeVO.getHouseCode());
+				wrapper.eq("house_code", placeVO.getHouseCode());
 				GridRangeEntity one = gridRangeService.getOne(wrapper);
 				if (null == one) {
 					// 新增
@@ -359,7 +363,7 @@
 					gridRangeService.save(gridRangeEntity);
 				}else {
 					// 修改绑定
-					one.setGridId(placeVO.getGridId());
+					one.setGridId(gridEntity.getId());
 					// 修改
 					gridRangeService.updateById(one);
 				}
@@ -377,12 +381,15 @@
 			//点坐标解析
 			String point = "'POINT(" + placeVO.getLng() + " " + placeVO.getLat() +")'";
 //			String point = "'POINT(" + villageInfoExcel.getLatitude() + " " + villageInfoExcel.getLongitude() +")'";
-			GridEntity gridEntity = gridMapper.spatialAnalysis(point);
-			if (null != gridEntity && !Strings.isBlank(gridEntity.getGridCode())) {
-				// 场所编号绑定
-				placeVO.setGridCode(gridEntity.getGridCode());
-				// 更新场所信息
-				updateById(placeVO);
+			List<GridEntity> gridEntityList = gridMapper.spatialAnalysis(point);
+			if (gridEntityList.size()>0) {
+				GridEntity gridEntity = gridEntityList.get(0);
+				if (null != gridEntity && !Strings.isBlank(gridEntity.getGridCode())) {
+					// 场所编号绑定
+					placeVO.setGridCode(gridEntity.getGridCode());
+					// 更新场所信息
+					updateById(placeVO);
+				}
 			}
 		}
 	}
@@ -666,6 +673,17 @@
 				queryWrapper.eq("is_deleted", 0).eq("place_id", placeVO.getId());
 				placeVO.setPlaceExtEntity(placeExtService.getOne(queryWrapper));
 			}
+		}else {
+			// 查询地址编码信息(社区派出所相关信息)
+			if (!Strings.isBlank(place.getHouseCode())) {
+				QueryWrapper<DoorplateAddressEntity> queryWrapper = new QueryWrapper<>();
+				queryWrapper.eq("address_code", place.getHouseCode());
+				DoorplateAddressEntity addressEntity = doorplateAddressService.getOne(queryWrapper);
+				if (null != addressEntity) {
+					placeVO = new PlaceVO();
+					placeVO.setDoorplateAddressEntity(addressEntity);
+				}
+			}
 		}
 		// 返回
 		return placeVO;

--
Gitblit v1.9.3