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); /** * 获取房屋树 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> 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); /** * 获取房屋树 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); } /** 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)); } /** 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); /** * 根据参数查询网格数据 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); /** * 根据参数查询网格数据 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); } } } 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); } } } }