| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import lombok.AllArgsConstructor; |
| | | import org.apache.logging.log4j.util.Strings; |
| | | import org.springblade.common.constant.FileConstant; |
| | | import org.springblade.common.utils.ShapeFileUtil; |
| | | import org.springblade.common.utils.ZipUtil; |
| | |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.modules.yw.entity.GeomInfoEntity; |
| | | import org.springblade.modules.yw.service.IEmergencySpaceService; |
| | | import org.springblade.modules.yw.service.IFirmInfoService; |
| | | import org.springblade.modules.yw.service.IGeomInfoService; |
| | | import org.springblade.modules.yw.vo.EmergencySpaceVO; |
| | | import org.springblade.modules.yw.vo.GeomInfoVO; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | |
| | | private final IGeomInfoService geomInfoService; |
| | | |
| | | private final FileConstant fileConstant; |
| | | |
| | | private final IEmergencySpaceService emergencySpaceService; |
| | | |
| | | /** |
| | | * 空间信息表 详情 |
| | |
| | | |
| | | /** |
| | | * 根据传入的点线面数据-导出空间信息shp zip 包 |
| | | * @param response |
| | | * @return |
| | | */ |
| | | @GetMapping("/exporEmergencySpaceShpZip") |
| | | @ApiOperationSupport(order = 9) |
| | | @ApiOperation(value = "根据传入的点线面数据-导出空间信息shp zip 包", notes = "传入空间数据") |
| | | public void exporEmergencySpaceShpZip(HttpServletResponse response) throws IOException { |
| | | Query query = new Query().setCurrent(1).setSize(100); |
| | | IPage<EmergencySpaceVO> emergencySpaceVOIPage |
| | | = emergencySpaceService.selectEmergencySpacePage(Condition.getPage(query), null); |
| | | // 查询应急空间数据 |
| | | List<EmergencySpaceVO> emergencySpaceVOList = emergencySpaceVOIPage.getRecords(); |
| | | List<Map<String,Object>> propertyList = new ArrayList<>(); |
| | | // 要导出的文件夹路径 |
| | | String sourceFolderPath = fileConstant.getZipTempSavePath(); |
| | | for (EmergencySpaceVO emergencySpaceVO : emergencySpaceVOList) { |
| | | // 先生成文件 |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("ID", emergencySpaceVO.getId()); |
| | | map.put("name", emergencySpaceVO.getName()); |
| | | if (!Strings.isBlank(emergencySpaceVO.getLng())){ |
| | | map.put("geometry","POINT("+emergencySpaceVO.getLng() +" " + emergencySpaceVO.getLng() + ")"); |
| | | } |
| | | map.put("firmId",emergencySpaceVO.getFirmId()); |
| | | map.put("firmName",emergencySpaceVO.getFirmName()); |
| | | propertyList.add(map); |
| | | } |
| | | // 导出shp 文件 |
| | | ShapeFileUtil.exportShp(propertyList, "yikj", "Point",sourceFolderPath); |
| | | // ZIP文件名 |
| | | String zipFileName = System.currentTimeMillis() + "_exported_shp.zip"; |
| | | response.setContentType("application/zip"); |
| | | response.setHeader("Content-Disposition", "attachment; filename=\"" + zipFileName + "\""); |
| | | try ( |
| | | BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream()); |
| | | ZipOutputStream zipOut = new ZipOutputStream(bos); |
| | | ) { |
| | | ZipUtil.zipFolder(sourceFolderPath, zipOut); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据传入的点线面数据-导出空间信息shp zip 包 |
| | | * @param geomInfoEntity |
| | | * @return |
| | | */ |