guoshilong
2024-02-02 d7e498f5e1f13e37df52ebd08c98e8a833b9c450
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);
   }
}