072f7eb33abdb59f3478ed310876223a49fde744.svn-base 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. package org.jeecg.modules.demo.onemap.controller;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import java.util.Map;
  5. import java.util.stream.Collectors;
  6. import java.io.IOException;
  7. import java.io.UnsupportedEncodingException;
  8. import java.net.URLDecoder;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11. import org.geotools.data.DataStore;
  12. import org.jeecg.common.api.vo.Result;
  13. import org.jeecg.common.system.query.QueryGenerator;
  14. import org.jeecg.common.util.oConvertUtils;
  15. import org.jeecg.modules.demo.onemap.entity.Xmonemap2d;
  16. import org.jeecg.modules.demo.onemap.service.IXmonemap2dService;
  17. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  18. import com.baomidou.mybatisplus.core.metadata.IPage;
  19. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  20. import lombok.extern.slf4j.Slf4j;
  21. import org.jeecg.modules.demo.onemap.utils.Geotools;
  22. import org.jeecg.modules.demo.onemap.utils.PGDatastore;
  23. import org.jeecg.modules.demo.onemap.utils.Utility;
  24. import org.jeecgframework.poi.excel.ExcelImportUtil;
  25. import org.jeecgframework.poi.excel.def.NormalExcelConstants;
  26. import org.jeecgframework.poi.excel.entity.ExportParams;
  27. import org.jeecgframework.poi.excel.entity.ImportParams;
  28. import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
  29. import org.jeecg.common.system.base.controller.JeecgController;
  30. import org.springframework.beans.factory.annotation.Autowired;
  31. import org.springframework.web.bind.annotation.*;
  32. import org.springframework.web.multipart.MultipartFile;
  33. import org.springframework.web.multipart.MultipartHttpServletRequest;
  34. import org.springframework.web.servlet.ModelAndView;
  35. import com.alibaba.fastjson.JSON;
  36. import io.swagger.annotations.Api;
  37. import io.swagger.annotations.ApiOperation;
  38. import org.jeecg.common.aspect.annotation.AutoLog;
  39. /**
  40. * @Description: 二维项目一张图
  41. * @Author: jeecg-boot
  42. * @Date: 2021-07-13
  43. * @Version: V1.0
  44. */
  45. @Api(tags="二维项目一张图")
  46. @RestController
  47. @RequestMapping("/onemap/xmonemap2d")
  48. @Slf4j
  49. public class Xmonemap2dController extends JeecgController<Xmonemap2d, IXmonemap2dService> {
  50. @Autowired
  51. private IXmonemap2dService xmonemap2dService;
  52. private Utility utility = new Utility();
  53. /**
  54. * 分页列表查询
  55. *
  56. * @param xmonemap2d
  57. * @param pageNo
  58. * @param pageSize
  59. * @param req
  60. * @return
  61. */
  62. @AutoLog(value = "二维项目一张图-分页列表查询")
  63. @ApiOperation(value="二维项目一张图-分页列表查询", notes="二维项目一张图-分页列表查询")
  64. @GetMapping(value = "/list")
  65. public Result<?> queryPageList(Xmonemap2d xmonemap2d,
  66. @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
  67. @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
  68. HttpServletRequest req) {
  69. QueryWrapper<Xmonemap2d> queryWrapper = QueryGenerator.initQueryWrapper(xmonemap2d, req.getParameterMap());
  70. Page<Xmonemap2d> page = new Page<Xmonemap2d>(pageNo, pageSize);
  71. IPage<Xmonemap2d> pageList = xmonemap2dService.page(page, queryWrapper);
  72. return Result.OK(pageList);
  73. }
  74. /**
  75. * 添加
  76. *
  77. * @param xmonemap2d
  78. * @return
  79. */
  80. @AutoLog(value = "二维项目一张图-添加")
  81. @ApiOperation(value="二维项目一张图-添加", notes="二维项目一张图-添加")
  82. @PostMapping(value = "/add")
  83. public Result<?> add(@RequestBody Xmonemap2d xmonemap2d) {
  84. xmonemap2dService.save(xmonemap2d);
  85. return Result.OK("添加成功!");
  86. }
  87. /**
  88. * 编辑
  89. *
  90. * @param xmonemap2d
  91. * @return
  92. */
  93. @AutoLog(value = "二维项目一张图-编辑")
  94. @ApiOperation(value="二维项目一张图-编辑", notes="二维项目一张图-编辑")
  95. @PostMapping(value = "/edit")
  96. public Result<?> edit(@RequestBody Xmonemap2d xmonemap2d) {
  97. xmonemap2dService.updateById(xmonemap2d);
  98. return Result.OK("编辑成功!");
  99. }
  100. /**
  101. * 通过id删除
  102. *
  103. * @param id
  104. * @return
  105. */
  106. @AutoLog(value = "二维项目一张图-通过id删除")
  107. @ApiOperation(value="二维项目一张图-通过id删除", notes="二维项目一张图-通过id删除")
  108. @PostMapping(value = "/delete")
  109. public Result<?> delete(@RequestParam(name="id",required=true) String id) {
  110. xmonemap2dService.removeById(id);
  111. return Result.OK("删除成功!");
  112. }
  113. /**
  114. * 批量删除
  115. *
  116. * @param ids
  117. * @return
  118. */
  119. @AutoLog(value = "二维项目一张图-批量删除")
  120. @ApiOperation(value="二维项目一张图-批量删除", notes="二维项目一张图-批量删除")
  121. @PostMapping(value = "/deleteBatch")
  122. public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
  123. this.xmonemap2dService.removeByIds(Arrays.asList(ids.split(",")));
  124. return Result.OK("批量删除成功!");
  125. }
  126. /**
  127. * 通过id查询
  128. *
  129. * @param id
  130. * @return
  131. */
  132. @AutoLog(value = "二维项目一张图-通过id查询")
  133. @ApiOperation(value="二维项目一张图-通过id查询", notes="二维项目一张图-通过id查询")
  134. @GetMapping(value = "/queryById")
  135. public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
  136. Xmonemap2d xmonemap2d = xmonemap2dService.getById(id);
  137. if(xmonemap2d==null) {
  138. return Result.error("未找到对应数据");
  139. }
  140. return Result.OK(xmonemap2d);
  141. }
  142. /**
  143. * 导出excel
  144. *
  145. * @param request
  146. * @param xmonemap2d
  147. */
  148. @RequestMapping(value = "/exportXls")
  149. public ModelAndView exportXls(HttpServletRequest request, Xmonemap2d xmonemap2d) {
  150. return super.exportXls(request, xmonemap2d, Xmonemap2d.class, "二维项目一张图");
  151. }
  152. /**
  153. * 通过excel导入数据
  154. *
  155. * @param request
  156. * @param response
  157. * @return
  158. */
  159. @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
  160. public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
  161. return super.importExcel(request, response, Xmonemap2d.class);
  162. }
  163. /**
  164. * 导入shp请求 备用
  165. * @param id
  166. * @param shpFilePath
  167. * @param tableName
  168. */
  169. @RequestMapping(value = "/importShp", method = RequestMethod.POST)
  170. public void importShp(@RequestParam(name="path",required=true) String id,@RequestParam(name="path",required=true) String shpFilePath,@RequestParam(name="tName",required=true) String tableName){
  171. PGDatastore pgDatastore = new PGDatastore();
  172. DataStore datastore = PGDatastore.getDefeaultDatastore();
  173. Geotools geotools = new Geotools(datastore);
  174. String shpfilepath = "C:\\test\\ChinaWorldCitysBigbelin\\MuchBig.shp";
  175. String pgtableName = "MuchBigPolygon";
  176. geotools.shp2pgtable(id,shpfilepath, pgtableName);
  177. utility.tagLast("shp导入postgis");
  178. }
  179. }