zhongrj
2024-01-29 e79f50dd7667bd653ca4a128147d5edeca64cbad
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -107,7 +107,14 @@
   public IPage<PlaceVO> selectPlacePage(IPage<PlaceVO> page, PlaceVO place) {
      List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
      Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
      List<PlaceVO> placeVOS = baseMapper.selectPlacePage(page, place,regionChildCodesList,isAdministrator);
      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.selectPlacePage(page, place,list,regionChildCodesList,isAdministrator);
      // 返回
      return page.setRecords(placeVOS);
   }
@@ -171,8 +178,43 @@
      gridBind(placeVO);
      // 网格编号绑定场所-新
      gridCodeBind(placeVO);
      // 房屋编号绑定
//      houseCodeBind(placeVO);
      // 返回结果
      return flag;
   }
   /**
    * 房屋绑定
    * @param placeVO
    */
   public void houseCodeBind(PlaceVO placeVO) {
      String houseCode = placeVO.getHouseCode();
      List<String> list = Arrays.asList(houseCode.split(","));
      if (list.size()>1){
         // 处理对应的绑定房屋数据
         List<Long> longs = new ArrayList<>();
         // 把其他单个的场所数据删除
         for (String code : list) {
            // 先查询对应的场所id
            QueryWrapper<PlaceEntity> wrapper = new QueryWrapper<>();
            wrapper.eq("house_code",code).eq("is_deleted",0);
            PlaceEntity one = getOne(wrapper);
            if (null!=one){
               longs.add(one.getId());
               // 删除对应的单个编号的场所
               removeById(one.getId());
            }
         }
         if (longs.size()>0) {
            // 删除对应的详情
            removePlaceExt(longs);
            // 删除对应的标签绑定信息
            removePlaceLabel(longs);
         }
      }else {
         // 一对一,暂时不处理,后续考虑需加绑定关系表
      }
   }
   /**
@@ -592,36 +634,36 @@
      // 查询场所信息
      PlaceVO placeVO = baseMapper.getDetail(place);
      // 门牌信息
      if (null!= place.getAddressType() && place.getAddressType()==4){
         if (null != placeVO) {
      if (null != placeVO) {
         if (null != place.getAddressType() && place.getAddressType() == 4) {
            // 查询地址编码信息(社区派出所相关信息)
            DoorplateAddressEntity addressEntity = placeRelService.getDoorplateAddressEntity(placeVO);
            placeVO.setDoorplateAddressEntity(addressEntity);
            // 查询网格信息--商超
            placeVO.setGrid(gridService.getGridDetailByParam(placeVO));
         }
      }else {
         // 管理后台查询赋值颜色
         if (placeVO.getPlacePoiLabelVOList().size()>0){
            PlacePoiLabelVO placePoiLabelVO = placeVO.getPlacePoiLabelVOList().get(0);
            if (!Strings.isBlank(placePoiLabelVO.getColor())){
               placeVO.setColor(placePoiLabelVO.getColor());
         } else {
            // 管理后台查询赋值颜色
            if (placeVO.getPlacePoiLabelVOList().size() > 0) {
               PlacePoiLabelVO placePoiLabelVO = placeVO.getPlacePoiLabelVOList().get(0);
               if (!Strings.isBlank(placePoiLabelVO.getColor())) {
                  placeVO.setColor(placePoiLabelVO.getColor());
               }
            }
            // 查询地址门牌信息
            QueryWrapper<DoorplateAddressEntity> wrapper = new QueryWrapper<>();
            wrapper.eq("address_code", placeVO.getHouseCode());
            List<DoorplateAddressEntity> list = doorplateAddressService.list(wrapper);
            if (list.size() > 0) {
               placeVO.setDoorplateAddressEntity(list.get(0));
               placeVO.setNeiCode(list.get(0).getNeiCode());
            }
            // 查询场所对应的网格数据
            placeVO.setGrid(gridService.getPlaceGridDetailByHouseCode(placeVO.getHouseCode()));
            // 设置详情信息
            QueryWrapper<PlaceExtEntity> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("is_deleted", 0).eq("place_id", placeVO.getId());
            placeVO.setPlaceExtEntity(placeExtService.getOne(queryWrapper));
         }
         // 查询地址门牌信息
         QueryWrapper<DoorplateAddressEntity> wrapper = new QueryWrapper<>();
         wrapper.eq("address_code", placeVO.getHouseCode());
         List<DoorplateAddressEntity> list = doorplateAddressService.list(wrapper);
         if (list.size() > 0) {
            placeVO.setDoorplateAddressEntity(list.get(0));
            placeVO.setNeiCode(list.get(0).getNeiCode());
         }
         // 查询场所对应的网格数据
         placeVO.setGrid(gridService.getPlaceGridDetailByHouseCode(placeVO.getHouseCode()));
         // 设置详情信息
         QueryWrapper<PlaceExtEntity> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("is_deleted",0).eq("place_id",placeVO.getId());
         placeVO.setPlaceExtEntity(placeExtService.getOne(queryWrapper));
      }
      // 返回
      return placeVO;