zhongrj
2024-01-31 80de84c1ba30d550d9b6b5834c833451dd58afe3
场所网格绑定修改
9 files modified
86 ■■■■■ changed files
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml 19 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java 6 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/grid/controller/GridController.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/grid/mapper/GridMapper.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/grid/service/IGridService.java 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java 28 ●●●●● patch | view | raw | blame | history
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);
                }
            }
        }
    }