From d7e498f5e1f13e37df52ebd08c98e8a833b9c450 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 02 Feb 2024 14:36:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java |   64 ++++++++++++++++++++++++++------
 1 files changed, 52 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..7be7498 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);
+				}
 			}
 		}
 	}
@@ -665,6 +672,17 @@
 				QueryWrapper<PlaceExtEntity> queryWrapper = new QueryWrapper<>();
 				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);
+				}
 			}
 		}
 		// 返回
@@ -1063,4 +1081,26 @@
 			placePoiLabelService.remove(wrapper);
 		}
 	}
+
+	/**
+	 * 九小场所档案
+	 * @param page
+	 * @param place
+	 * @return
+	 */
+	@Override
+	public IPage<PlaceVO> selectNinePlacePage(IPage<PlaceVO> page, PlaceVO place) {
+		List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+		Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+		List<String> list = new ArrayList<>();
+		if (null!=place.getRoleName() && !place.getRoleName().equals("")){
+			if (place.getRoleName().equals("网格员")){
+				// 查询对应的房屋地址code
+				list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+			}
+		}
+		List<PlaceVO> placeVOS = baseMapper.selectNinePlacePage(page, place,list,regionChildCodesList,isAdministrator);
+		// 返回
+		return page.setRecords(placeVOS);
+	}
 }

--
Gitblit v1.9.3