| | |
| | | import org.springblade.common.utils.NodeTreeUtil; |
| | | import org.springblade.common.utils.SpringUtils; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import org.springblade.core.tool.utils.ObjectUtil; |
| | | import org.springblade.modules.backblast.entity.BackblastPubRecordEntity; |
| | | import org.springblade.modules.category.dto.CategoryDTO; |
| | | import org.springblade.modules.category.service.ICategoryService; |
| | | import org.springblade.modules.community.entity.CommunityEntity; |
| | |
| | | import org.springblade.modules.district.entity.DistrictEntity; |
| | | import org.springblade.modules.district.service.IDistrictService; |
| | | import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity; |
| | | import org.springblade.modules.doorplateAddress.excel.ImportDoorplateExcel; |
| | | import org.springblade.modules.doorplateAddress.mapper.DoorplateAddressMapper; |
| | | import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService; |
| | | import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO; |
| | |
| | | import org.springblade.modules.doorplateAddress.vo.FuncNode; |
| | | import org.springblade.modules.grid.entity.GridEntity; |
| | | import org.springblade.modules.grid.entity.GridRangeEntity; |
| | | import org.springblade.modules.grid.entity.GridmanEntity; |
| | | import org.springblade.modules.grid.service.IGridRangeService; |
| | | import org.springblade.modules.grid.service.IGridService; |
| | | import org.springblade.modules.grid.service.IGridmanService; |
| | |
| | | import org.springblade.modules.place.service.IPlaceExtService; |
| | | import org.springblade.modules.place.service.IPlacePoiLabelService; |
| | | import org.springblade.modules.place.service.IPlaceService; |
| | | import org.springblade.modules.place.vo.PlaceVO; |
| | | import org.springblade.modules.police.entity.PoliceAffairsGridEntity; |
| | | import org.springblade.modules.police.service.IPoliceAffairsGridService; |
| | | import org.springblade.modules.system.entity.Region; |
| | | import org.springblade.modules.system.service.IRegionService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | String roleName = SpringUtils.getRequestParam("roleName"); |
| | | if (!Strings.isBlank(roleName)) { |
| | | // 如果是网格管理员,系统管理员,民警,无诈场所采集 |
| | | if (roleName.equals("admin") || |
| | | roleName.equals("wzcj") || |
| | | roleName.equals("wgy") || |
| | | roleName.equals("mj")) { |
| | | if (roleName.equals("admin") || roleName.equals("wzcj") || |
| | | roleName.equals("wgy") || roleName.equals("mj")) { |
| | | houseParam.setRoleName(roleName); |
| | | if ((roleName.equals("wgy") || roleName.equals("wzcj")) |
| | | && !userId.equals("1726859808689696770")) { |
| | |
| | | List<TreeStringNode> townList = baseMapper.getRegionListByGroupTwon(houseParam, stringList, communityList); |
| | | // 查询社区 |
| | | List<TreeStringNode> neiList = baseMapper.getRegionListByGroupNei(houseParam, stringList, communityList); |
| | | // 查询网格 |
| | | if (stringList.size() > 0) { |
| | | List<GridEntity> list1 = gridService.list(Wrappers.<GridEntity>lambdaQuery().in(GridEntity::getGridCode, stringList)); |
| | | } |
| | | // 遍历 |
| | | for (TreeStringNode treeNode : townList) { |
| | | // 遍历 |
| | |
| | | houseParam.setRoleName(roleName); |
| | | } |
| | | // 获取网格员对应的地址编号集合 |
| | | List<String> addressCodeList = getHouseCodeList(houseParam); |
| | | // List<String> addressCodeList = getHouseCodeList(houseParam); |
| | | List<String> gridCodeList = getGridCodeList(houseParam); |
| | | List<String> communityCodeList = getCommunityCodeList(houseParam); |
| | | // 获取网格员对应的网格信息 |
| | | getGridInfoByGridman(houseParam); |
| | | // getGridInfoByGridman(houseParam); |
| | | // 查小区,场所 |
| | | if (houseParam.getType() == 1) { |
| | | // 根据社区名称查询小区集合 |
| | | list = baseMapper.getDistrictList(houseParam, addressCodeList, communityCodeList); |
| | | list = baseMapper.getDistrictList(houseParam, gridCodeList, communityCodeList); |
| | | } |
| | | // 查楼栋,街路巷 |
| | | if (houseParam.getType() == 2) { |
| | | return getBuildLevelData(houseParam, addressCodeList, map); |
| | | return getBuildLevelData(houseParam, gridCodeList, map); |
| | | } |
| | | // 查户室 |
| | | if (houseParam.getType() == 3) { |
| | | return getHouseLevelData(houseParam, addressCodeList, map); |
| | | return getHouseLevelData(houseParam, gridCodeList, map); |
| | | } |
| | | return list; |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 根据角色获取网格编号集合 |
| | | * |
| | | * @param houseParam |
| | | * @return |
| | | */ |
| | | private List<String> getGridCodeList(HouseParam houseParam) { |
| | | List<String> gridCodeList = new ArrayList<>(); |
| | | String userId = AuthUtil.getUserId().toString(); |
| | | houseParam.setUserId(userId); |
| | | if (null != houseParam.getRoleName() && !houseParam.getRoleName().equals("")) { |
| | | if ((houseParam.getRoleName().equals("wgy") || houseParam.getRoleName().equals("wzcj")) |
| | | && !userId.equals("1726859808689696770")) { |
| | | // 查询对应社区编号集合 |
| | | gridCodeList |
| | | = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(), null, houseParam.getRoleName()); |
| | | } |
| | | } |
| | | // 返回 |
| | | return gridCodeList; |
| | | } |
| | | |
| | | /** |
| | | * 房屋数据处理 |
| | | * |
| | | * @return |
| | |
| | | // 加入集合 |
| | | districtService.save(districtEntity); |
| | | // aoiList.add(districtEntity); |
| | | } else { |
| | | // 更新 |
| | | one.setCommunityCode(addressEntity.getNeiCode()); |
| | | one.setAoiCode(addressEntity.getAoiCode()); |
| | | one.setName(addressEntity.getAoiName()); |
| | | one.setAddress(addressEntity.getAddressName()); |
| | | one.setLng(addressEntity.getX()); |
| | | one.setLat(addressEntity.getY()); |
| | | // 加入集合 |
| | | districtService.updateById(one); |
| | | } |
| | | // else { |
| | | // // 更新 |
| | | // one.setCommunityCode(addressEntity.getNeiCode()); |
| | | // one.setAoiCode(addressEntity.getAoiCode()); |
| | | // one.setName(addressEntity.getAoiName()); |
| | | // one.setAddress(addressEntity.getAddressName()); |
| | | // one.setLng(addressEntity.getX()); |
| | | // one.setLat(addressEntity.getY()); |
| | | // // 加入集合 |
| | | // districtService.updateById(one); |
| | | // } |
| | | } |
| | | // 批量插入 |
| | | // districtService.saveBatch(aoiList); |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Object placeDataHandle(String townName) { |
| | | // 查询所有的地址表和场所表差集集合 |
| | | List<DoorplateAddressEntity> list = baseMapper.getNotInPlaceList(townName); |
| | | // 创建场所集合对象 |
| | | List<PlaceEntity> placeList = new ArrayList<>(); |
| | | if (list.size() > 0) { |
| | | // 将场所数据保存到场所表中 |
| | | for (DoorplateAddressEntity addressEntity : list) { |
| | | // pio 名称不为空的进行插入操作 |
| | | // if (!Strings.isBlank(addressEntity.getPoi())) { |
| | | PlaceEntity placeEntity = new PlaceEntity(); |
| | | placeEntity.setHouseCode(addressEntity.getAddressCode()); |
| | | placeEntity.setPlaceName(addressEntity.getPoi()); |
| | | placeEntity.setLng(addressEntity.getX()); |
| | | placeEntity.setLat(addressEntity.getY()); |
| | | placeEntity.setLocation(addressEntity.getAddressName()); |
| | | // 设置来源( 1:地址总表 2:国控采集 3:商超) |
| | | placeEntity.setSource(1); |
| | | // 待完善 |
| | | placeEntity.setStatus(1); |
| | | // 默认为非九小场所 |
| | | placeEntity.setIsNine(2); |
| | | // 默认为现场采集 |
| | | placeEntity.setIsScene(1); |
| | | // 根据位置设置网格,警格编号 |
| | | String point = "'POINT(" + addressEntity.getX() + " " + addressEntity.getY() + ")'"; |
| | | //点坐标解析网格 |
| | | List<GridEntity> gridEntityList = gridService.spatialAnalysis(point); |
| | | if (gridEntityList.size() > 0) { |
| | | GridEntity gridEntity = gridEntityList.get(0); |
| | | placeEntity.setGridId(gridEntity.getId()); |
| | | placeEntity.setGridCode(gridEntity.getGridCode()); |
| | | // 查询总数 |
| | | Integer count = baseMapper.getNotPlaceListCount(townName); |
| | | if (count > 0) { |
| | | int num = count / 1000; |
| | | for (int i = 0; i <= num + 1; i++) { |
| | | // 查询所有的地址表和场所表差集集合 |
| | | List<DoorplateAddressEntity> list = baseMapper.getNotInPlaceList(townName); |
| | | if (list.size() > 0) { |
| | | // 将场所数据保存到场所表中 |
| | | for (DoorplateAddressEntity addressEntity : list) { |
| | | // pio 名称不为空的进行插入操作 |
| | | PlaceEntity placeEntity = new PlaceEntity(); |
| | | placeEntity.setHouseCode(addressEntity.getAddressCode()); |
| | | placeEntity.setPlaceName(addressEntity.getPoi()); |
| | | placeEntity.setLng(addressEntity.getX()); |
| | | placeEntity.setLat(addressEntity.getY()); |
| | | placeEntity.setLocation(addressEntity.getAddressName()); |
| | | // 设置来源( 1:地址总表 2:国控采集 3:商超) |
| | | placeEntity.setSource(1); |
| | | // 待完善 |
| | | placeEntity.setStatus(1); |
| | | // 默认为非九小场所 |
| | | placeEntity.setIsNine(2); |
| | | // 默认为现场采集 |
| | | placeEntity.setIsScene(1); |
| | | // 根据位置设置网格,警格编号 |
| | | String point = "'POINT(" + addressEntity.getX() + " " + addressEntity.getY() + ")'"; |
| | | //点坐标解析网格 |
| | | List<GridEntity> gridEntityList = gridService.spatialAnalysis(point); |
| | | if (gridEntityList.size() > 0) { |
| | | GridEntity gridEntity = gridEntityList.get(0); |
| | | placeEntity.setGridId(gridEntity.getId()); |
| | | placeEntity.setGridCode(gridEntity.getGridCode()); |
| | | } |
| | | //点坐标解析警格 |
| | | List<PoliceAffairsGridEntity> policeAffairsGridEntityList = policeAffairsGridService.spatialAnalysis(point); |
| | | if (policeAffairsGridEntityList.size() > 0) { |
| | | PoliceAffairsGridEntity policeAffairsGridEntity = policeAffairsGridEntityList.get(0); |
| | | placeEntity.setJwGridCode(policeAffairsGridEntity.getJwGridCode()); |
| | | } |
| | | // 保存 |
| | | placeService.save(placeEntity); |
| | | // 新增场所详情 |
| | | savePlaceExtAndTaskInfo(placeEntity); |
| | | } |
| | | } |
| | | //点坐标解析警格 |
| | | List<PoliceAffairsGridEntity> policeAffairsGridEntityList = policeAffairsGridService.spatialAnalysis(point); |
| | | if (policeAffairsGridEntityList.size() > 0) { |
| | | PoliceAffairsGridEntity policeAffairsGridEntity = policeAffairsGridEntityList.get(0); |
| | | placeEntity.setJwGridCode(policeAffairsGridEntity.getJwGridCode()); |
| | | } |
| | | // 加入集合 |
| | | // placeList.add(placeEntity); |
| | | // 保存 |
| | | placeService.save(placeEntity); |
| | | // 新增场所详情 |
| | | savePlaceExtAndTaskInfo(placeEntity); |
| | | // } |
| | | } |
| | | // 批量插入 |
| | | // savePlaceExtAndTaskInfo(placeList); |
| | | } |
| | | // 返回 |
| | | return null; |
| | |
| | | List<String> list = new ArrayList<>(); |
| | | // 扫码时调用,需判断是否有权限查看 |
| | | DoorplateAddressVO doorplateAddressVO = baseMapper.getDoorplateAddressVODetail(doorplateAddress); |
| | | // 创建数组 |
| | | String[] schoolName = {"幼儿园", "小学", "中学", "高中", "大专", "学校"}; |
| | | List<String> stringList = new ArrayList<>(Arrays.asList(schoolName)); |
| | | if (null != doorplateAddressVO) { |
| | | if (Strings.isNotBlank(doorplateAddressVO.getAoiName()) && stringList.stream() |
| | | .anyMatch(doorplateAddressVO.getAoiName()::contains)) { |
| | | doorplateAddressVO.setAddressLevel(1); |
| | | doorplateAddressVO.setDoorplateType(DictConstant.centre_DOORPLATE); |
| | | } |
| | | if (Strings.isNotBlank(doorplateAddressVO.getPoi()) && stringList.stream() |
| | | .anyMatch(doorplateAddressVO.getPoi()::contains)) { |
| | | doorplateAddressVO.setAddressLevel(1); |
| | | doorplateAddressVO.setDoorplateType(DictConstant.centre_DOORPLATE); |
| | | } |
| | | |
| | | // 不限制 |
| | | doorplateAddressVO.setIsJur(1); |
| | | String roleName = SpringUtils.getRequestParam("roleName"); |
| | |
| | | // 查询对应的社区code |
| | | list = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(), null, roleName); |
| | | if (null != list && list.size() > 0) { |
| | | boolean contains = list.contains(doorplateAddressVO.getNeiCode()); |
| | | // 存在一个社区有多个派出所,所以社区有36110200201702 存后面添加两位,对比的时候要删除后面两位 |
| | | List<String> collect = list.stream().map(s -> s.length() > 12 ? s.substring(0, s.length() - 2) : s).collect(Collectors.toList()); |
| | | boolean contains = collect.contains(doorplateAddressVO.getNeiCode()); |
| | | if (contains) { |
| | | doorplateAddressVO.setIsJur(1); |
| | | } |
| | |
| | | PlacePoiLabel placePoiLabel = poiLabelService.getOne(Wrappers.<PlacePoiLabel>lambdaQuery() |
| | | .eq(PlacePoiLabel::getPlaceId, doorplateAddressVO.getPid()) |
| | | .eq(PlacePoiLabel::getType, CommonConstant.NUMBER_THREE)); |
| | | if(ObjectUtil.isNotEmpty(placePoiLabel)){ |
| | | if (ObjectUtil.isNotEmpty(placePoiLabel)) { |
| | | doorplateAddressVO.setLableCode(placePoiLabel.getPoiCode()); |
| | | } |
| | | } |
| | |
| | | // backblastPubRecord.setJwGridCode(policeAffairsGridEntity.getJwGridCode()); |
| | | // } |
| | | } |
| | | |
| | | @Override |
| | | public String importDoorplate(List<ImportDoorplateExcel> read) { |
| | | int i = 1; |
| | | for (ImportDoorplateExcel importDoorplateExcel : read) { |
| | | System.out.println("第-" + i + "-条记录"); |
| | | i++; |
| | | DoorplateAddressEntity copyDoorplateAddress = Objects.requireNonNull(BeanUtil.copy(importDoorplateExcel, DoorplateAddressEntity.class)); |
| | | DoorplateAddressEntity doorplateAddressEntity = baseMapper.selectOne(Wrappers.<DoorplateAddressEntity>lambdaQuery() |
| | | .eq(DoorplateAddressEntity::getAddressCode, importDoorplateExcel.getAddressCode())); |
| | | if (null == doorplateAddressEntity) { |
| | | baseMapper.insert(copyDoorplateAddress); |
| | | } else { |
| | | doorplateAddressEntity.setStreetRuCode(copyDoorplateAddress.getStreetRuCode()); |
| | | doorplateAddressEntity.setStreetRuName(copyDoorplateAddress.getStreetRuName()); |
| | | doorplateAddressEntity.setNeiName(copyDoorplateAddress.getNeiName()); |
| | | doorplateAddressEntity.setAoiCode(copyDoorplateAddress.getAoiCode()); |
| | | doorplateAddressEntity.setAoiName(copyDoorplateAddress.getAoiName()); |
| | | baseMapper.update(doorplateAddressEntity, Wrappers.<DoorplateAddressEntity>lambdaQuery() |
| | | .eq(DoorplateAddressEntity::getAddressCode, importDoorplateExcel.getAddressCode())); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |