From 80de84c1ba30d550d9b6b5834c833451dd58afe3 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 31 Jan 2024 23:28:14 +0800
Subject: [PATCH] 场所网格绑定修改
---
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml | 19 +++++++--
src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java | 15 +++++--
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java | 4 +-
src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java | 4 +-
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java | 28 ++++++++------
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java | 6 +-
src/main/java/org/springblade/modules/grid/mapper/GridMapper.java | 2
src/main/java/org/springblade/modules/grid/service/IGridService.java | 3 +
src/main/java/org/springblade/modules/grid/controller/GridController.java | 5 +-
9 files changed, 54 insertions(+), 32 deletions(-)
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
index d9d5eee..172f7f8 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
@@ -147,10 +147,10 @@
/**
* 查询社区信息
- * @param name
+ * @param doorplateAddressEntity
* @return
*/
- List<DoorplateAddressEntity> getAllDoorplateAddress(@Param("name") String name);
+ List<DoorplateAddressEntity> getAllDoorplateAddress(@Param("doorplateAddressEntity") DoorplateAddressEntity doorplateAddressEntity);
/**
* 获取房屋树
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
index 4346da8..31c77b0 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -332,10 +332,21 @@
<!--查询社区信息-->
<select id="getAllDoorplateAddress" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
- select * from jczz_doorplate_address
- where 1=1
- <if test="name!=null and name!=''">
- and nei_name = #{name}
+ select
+ jda.id,
+ jda.address_code,
+ jda.aoi_code,
+ jda.aoi_name,
+ jda.x,
+ jda.y
+ from jczz_doorplate_address jda
+ left join jczz_grid_range jgr on jda.address_code = jgr.house_code
+ where 1=1 and jgr.id is null
+ <if test="doorplateAddressEntity.neiName!=null and doorplateAddressEntity.neiName!=''">
+ and jda.nei_name = #{doorplateAddressEntity.neiName}
+ </if>
+ <if test="doorplateAddressEntity.townStreetName!=null and doorplateAddressEntity.townStreetName!=''">
+ and jda.town_street_name = #{doorplateAddressEntity.townStreetName}
</if>
</select>
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
index a4d6e5f..2edec81 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
@@ -81,10 +81,10 @@
/**
* 查询社区信息
- * @param name
+ * @param doorplateAddressEntity
* @return
*/
- List<DoorplateAddressEntity> getAllDoorplateAddress(String name);
+ List<DoorplateAddressEntity> getAllDoorplateAddress(DoorplateAddressEntity doorplateAddressEntity);
/**
* 获取房屋树
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 6cb1b6b..b7f2a0d 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
@@ -642,12 +642,12 @@
/**
* 查询社区信息
*
- * @param name
+ * @param doorplateAddressEntity
* @return
*/
@Override
- public List<DoorplateAddressEntity> getAllDoorplateAddress(String name) {
- return baseMapper.getAllDoorplateAddress(name);
+ public List<DoorplateAddressEntity> getAllDoorplateAddress(DoorplateAddressEntity doorplateAddressEntity) {
+ return baseMapper.getAllDoorplateAddress(doorplateAddressEntity);
}
/**
diff --git a/src/main/java/org/springblade/modules/grid/controller/GridController.java b/src/main/java/org/springblade/modules/grid/controller/GridController.java
index 85a7e66..b93abe5 100644
--- a/src/main/java/org/springblade/modules/grid/controller/GridController.java
+++ b/src/main/java/org/springblade/modules/grid/controller/GridController.java
@@ -28,6 +28,7 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
import org.springblade.modules.grid.excel.GridExcel;
import org.springblade.modules.grid.excel.GridImporter;
import org.springblade.modules.system.excel.UserExcel;
@@ -156,8 +157,8 @@
* 空间分析
*/
@GetMapping("/spatialAnalysis")
- public R spatialAnalysis() {
- return R.data(gridService.spatialAnalysis());
+ public R spatialAnalysis(DoorplateAddressEntity addressEntity) {
+ return R.data(gridService.spatialAnalysis(addressEntity));
}
/**
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
index 396004f..4438105 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
@@ -67,7 +67,7 @@
/**
* 空间分析 mysql 5.7 点落面
*/
- GridEntity spatialAnalysis(@Param("point")String point);
+ List<GridEntity> spatialAnalysis(@Param("point")String point);
/**
* 根据参数查询网格数据
diff --git a/src/main/java/org/springblade/modules/grid/service/IGridService.java b/src/main/java/org/springblade/modules/grid/service/IGridService.java
index 2cd34ac..fc93d44 100644
--- a/src/main/java/org/springblade/modules/grid/service/IGridService.java
+++ b/src/main/java/org/springblade/modules/grid/service/IGridService.java
@@ -17,6 +17,7 @@
package org.springblade.modules.grid.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
import org.springblade.modules.grid.entity.GridEntity;
import org.springblade.modules.grid.excel.GridExcel;
import org.springblade.modules.grid.excel.GridmanExcel;
@@ -68,7 +69,7 @@
/**
* 空间分析
*/
- Object spatialAnalysis();
+ Object spatialAnalysis(DoorplateAddressEntity addressEntity);
/**
* 根据参数查询网格数据
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 ec91d5f..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
@@ -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);
}
}
}
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 6ffdbf6..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
@@ -301,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) {
// 新增
@@ -312,7 +312,7 @@
gridRangeService.save(gridRangeEntity);
}else {
// 修改绑定
- one.setGridId(placeVO.getGridId());
+ one.setGridId(gridId);
// 修改
gridRangeService.updateById(one);
}
@@ -347,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) {
// 新增
@@ -362,7 +363,7 @@
gridRangeService.save(gridRangeEntity);
}else {
// 修改绑定
- one.setGridId(placeVO.getGridId());
+ one.setGridId(gridEntity.getId());
// 修改
gridRangeService.updateById(one);
}
@@ -380,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);
+ }
}
}
}
--
Gitblit v1.9.3