zhongrj
2023-12-20 7c533d448acabda7ec92d75757d760b447e41f00
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -471,7 +471,42 @@
            tempList.add(funcNode);
         });
         // 排序
         List<FuncNode> sortList = tempList.stream().sorted(Comparator.comparing(X -> X.getUnitName())).collect(Collectors.toList());
         sortUnit(tempList,list);
//         List<FuncNode> sortList = tempList.stream().sorted(Comparator.comparing(X -> X.getUnitName())).collect(Collectors.toList());
//         list.addAll(sortList);
      }
   }
   /**
    * 单元排序
    * @param tempList
    * @param list
    */
   private void sortUnit(List<FuncNode> tempList,List<FuncNode> list) {
      // 遍历
      if(tempList.size()>1){
         for (FuncNode funcNode : tempList) {
            if (funcNode.getUnitName().contains("一")){
               funcNode.setSort(1);
            }
            if (funcNode.getUnitName().contains("二")){
               funcNode.setSort(2);
            }
            if (funcNode.getUnitName().contains("三")){
               funcNode.setSort(3);
            }
            if (funcNode.getUnitName().contains("四")){
               funcNode.setSort(4);
            }
            if (funcNode.getUnitName().contains("五")){
               funcNode.setSort(5);
            }
            if (funcNode.getUnitName().contains("六")){
               funcNode.setSort(6);
            }
         }
         // 排序
         List<FuncNode> sortList = tempList.stream().sorted(Comparator.comparing(X -> X.getSort())).collect(Collectors.toList());
         list.addAll(sortList);
      }
   }
@@ -686,22 +721,54 @@
      List<DoorplateAddressEntity> list = baseMapper.getPlaceList();
      // 创建场所集合对象
      List<PlaceEntity> placeList = new ArrayList<>();
      // 将场所数据保存到场所表中
      for (DoorplateAddressEntity addressEntity : list) {
         PlaceEntity placeEntity = new PlaceEntity();
         placeEntity.setHouseCode(addressEntity.getAddressCode());
         placeEntity.setPlaceName(addressEntity.getPoi());
         placeEntity.setLng(addressEntity.getX());
         placeEntity.setLat(addressEntity.getY());
         placeEntity.setLocaltion(addressEntity.getAddressName());
         // 设置来源( 1:地址总表  2:国控采集)
         placeEntity.setSource(1);
         // 加入集合
         placeList.add(placeEntity);
      if (list.size()>0) {
         // 将场所数据保存到场所表中
         for (DoorplateAddressEntity addressEntity : list) {
            PlaceEntity placeEntity = new PlaceEntity();
            placeEntity.setHouseCode(addressEntity.getAddressCode());
            placeEntity.setPlaceName(addressEntity.getPoi());
            placeEntity.setLng(addressEntity.getX());
            placeEntity.setLat(addressEntity.getY());
            placeEntity.setLocaltion(addressEntity.getAddressName());
            // 设置来源( 1:地址总表  2:国控采集)
            placeEntity.setSource(1);
            // 加入集合
            placeList.add(placeEntity);
         }
         // 批量插入
         placeService.saveBatch(placeList);
      }
      // 批量插入
      placeService.saveBatch(placeList);
      // 返回
      return null;
   }
   /**
    * 门牌地址表(总台账数据) 自定义详情
    */
   @Override
   public Object getDetail(DoorplateAddressVO doorplateAddress) {
      List<String> list = new ArrayList<>();
      // 扫码时调用,需判断是否有权限查看
      DoorplateAddressVO one = baseMapper.getDoorplateAddressVODetail(doorplateAddress);
      if (null!=one){
         if (!Strings.isBlank(doorplateAddress.getRoleName())) {
            // 判断是否有权限
            if (doorplateAddress.getRoleName().equals("网格员")) {
               list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
               boolean contains = list.contains(doorplateAddress.getAddressCode());
               if (list.size()==0 || !contains){
                  // 无权限
                  one.setIsJur(2);
               }else {
                  one.setIsJur(1);
               }
            }else {
               // 不限制
               one.setIsJur(1);
            }
         }
         return one;
      }
      return null;
   }
}