From b7df6735bcb2d447cae7fcfba2d12accf3dd2fcc Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Sat, 03 Feb 2024 17:27:21 +0800
Subject: [PATCH] 消防检查优化

---
 src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java |   57 +++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 43 insertions(+), 14 deletions(-)

diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
index bd2e154..b79702d 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
@@ -129,8 +129,8 @@
 	 * @return
 	 */
 	@Override
-	public GridVO getGridDetailByHouseCode(String houseCode) {
-		return baseMapper.getGridDetailByHouseCode(houseCode);
+	public GridVO getPlaceGridDetailByHouseCode(String houseCode) {
+		return baseMapper.getPlaceGridDetailByHouseCode(houseCode);
 	}
 
 	/**
@@ -148,19 +148,20 @@
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public Object spatialAnalysis() {
+	public Object spatialAnalysis(DoorplateAddressEntity addressEntity) {
 		// 按社区
 		String name = null;
 //		String name = "茶山路社区居民委员会";
 		//查询社区信息
-		List<DoorplateAddressEntity> doorplateAddressEntities = doorplateAddressService.getAllDoorplateAddress(name);
+		List<DoorplateAddressEntity> doorplateAddressEntities = doorplateAddressService.getAllDoorplateAddress(addressEntity);
 		//遍历
 		for (DoorplateAddressEntity doorplateAddressEntity : doorplateAddressEntities) {
 			//点坐标解析
-			String point = "'POINT(" + doorplateAddressEntity.getX84() + " " + doorplateAddressEntity.getY84() +")'";
+			String point = "'POINT(" + doorplateAddressEntity.getX() + " " + doorplateAddressEntity.getY() +")'";
 //			String point = "'POINT(" + villageInfoExcel.getLatitude() + " " + villageInfoExcel.getLongitude() +")'";
-			GridEntity gridEntity = baseMapper.spatialAnalysis(point);
-			if (null!=gridEntity){
+			List<GridEntity> gridEntityList = baseMapper.spatialAnalysis(point);
+			if (gridEntityList.size()>0) {
+				GridEntity gridEntity = gridEntityList.get(0);
 				QueryWrapper<GridRangeEntity> queryWrapper = new QueryWrapper<>();
 				queryWrapper.eq("grid_id",gridEntity.getId()).eq("house_code",doorplateAddressEntity.getAddressCode());
 				GridRangeEntity one = gridRangeService.getOne(queryWrapper);
@@ -172,6 +173,10 @@
 					gridRangeEntity.setDistrictName(doorplateAddressEntity.getAoiName());
 					// 保存
 					gridRangeService.save(gridRangeEntity);
+				}else {
+					one.setGridId(gridEntity.getId());
+					// 更新
+					gridRangeService.updateById(one);
 				}
 			}
 		}
@@ -209,7 +214,8 @@
 		QueryWrapper<Region> regionWrapper = new QueryWrapper<>();
 		regionWrapper.eq("code",grid.getCommunityCode());
 		Region region = regionService.getOne(regionWrapper);
-		// 查询父机构
+		// 查询父机构(社区机构)
+		System.out.println("社区名称 = " + region.getName());
 		QueryWrapper<Dept> wrapper = new QueryWrapper<>();
 		wrapper.eq("dept_name",region.getName())
 			.eq("is_deleted",0);
@@ -218,22 +224,24 @@
 		QueryWrapper<Dept> wrapperChild = new QueryWrapper<>();
 		wrapperChild.eq("dept_name",grid.getGridName())
 			.eq("is_deleted",0)
-			.eq("id",dept.getId());
-		Dept deptChild = deptService.getOne(wrapperChild);
-		if (null==deptChild){
+			.eq("parent_id",dept.getId());
+		List<Dept> deptChild = deptService.list(wrapperChild);
+		if (deptChild.size()==0){
 			Dept deptInfo = new Dept();
 			deptInfo.setParentId(dept.getId());
 			deptInfo.setFullName(grid.getGridName());
 			deptInfo.setDeptName(grid.getGridName());
 			deptInfo.setDeptCategory(1);
 			deptInfo.setTenantId("000000");
+			deptInfo.setRegionCode(grid.getGridCode());
+			deptInfo.setAncestors(dept.getAncestors() + "," +dept.getId());
 			// 新增
 			deptService.save(deptInfo);
 			// 查询网格是否已存在(社区编号-网格名称),已存在更新,不存在插入新的
 			QueryWrapper<GridEntity> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("grid_name",grid.getGridName())
-				.eq("is_deleted",0)
-				.eq("community_code",grid.getCommunityCode());
+			queryWrapper.eq("grid_code",grid.getGridCode())
+				.eq("is_deleted",0);
+			System.out.println("网格编号 = " + grid.getGridCode());
 			GridEntity one = getOne(queryWrapper);
 			if (null!=one){
 				grid.setId(one.getId());
@@ -307,4 +315,25 @@
 	public List<GridVO> getGridListByAoiCode(String aoiCode) {
 		return baseMapper.getGridListByAoiCode(aoiCode);
 	}
+
+	/**
+	 * 查询对应网格人对应的网格
+	 * @param userId
+	 * @return
+	 */
+	@Override
+	public GridEntity getGridByUserId(Long userId) {
+		return baseMapper.getGridByUserId(userId);
+	}
+
+	/**
+	 * 根据网格名称,社区名称查询对应的网格
+	 * @param gridName
+	 * @param communityName
+	 * @return
+	 */
+	@Override
+	public GridEntity getGridByNames(String gridName, String communityName) {
+		return baseMapper.getGridByNames(gridName,communityName);
+	}
 }

--
Gitblit v1.9.3