FzssController.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package com.onemap.analyse.controller;
  2. import com.fasterxml.jackson.core.JsonProcessingException;
  3. import com.onemap.analyse.domain.FzxzReport;
  4. import com.onemap.analyse.domain.calculation.FzxzCalc;
  5. import com.onemap.analyse.domain.vo.DkReportVo;
  6. import com.onemap.analyse.domain.vo.SelectPilotVo;
  7. import com.onemap.analyse.service.IFzssService;
  8. import com.onemap.analyse.service.IReportService;
  9. import com.onemap.analyse.utils.DownloadUtils;
  10. import com.onemap.analyse.utils.UnitsUtil;
  11. import com.onemap.common.core.utils.file.FileUtils;
  12. import com.onemap.common.core.web.controller.BaseController;
  13. import com.onemap.common.core.web.domain.RequestResult;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.beans.factory.annotation.Value;
  16. import org.springframework.web.bind.annotation.*;
  17. import javax.annotation.Resource;
  18. import javax.servlet.http.HttpServletResponse;
  19. import java.io.File;
  20. import java.io.IOException;
  21. import java.net.URLEncoder;
  22. import java.text.SimpleDateFormat;
  23. import java.util.Date;
  24. import java.util.HashMap;
  25. import java.util.Map;
  26. @RestController
  27. @RequestMapping("/fzss")
  28. public class FzssController extends BaseController {
  29. @Autowired
  30. private IFzssService fzssService;
  31. @Value("${Hgxfx.temp}")
  32. private String temp;
  33. // 报告服务
  34. @Resource
  35. private IReportService iReportService;
  36. /**
  37. * 新建辅助选址
  38. *
  39. * @param
  40. * @return
  41. */
  42. @PostMapping("/AddFzxz")
  43. public RequestResult AddFzxz(@RequestBody SelectPilotVo selectPilotVo) throws JsonProcessingException {
  44. // TODO xmlx:项目类型
  45. if (selectPilotVo.getYdmjbegin() != null) {
  46. selectPilotVo.setYdmjbegin((float) (UnitsUtil.muToM2(selectPilotVo.getYdmjbegin())));
  47. }
  48. if (selectPilotVo.getYdmjend() != null) {
  49. selectPilotVo.setYdmjend((float) (UnitsUtil.muToM2(selectPilotVo.getYdmjend())));
  50. }
  51. // 存储规划参数
  52. FzxzCalc fzxzCalc = fzssService.saveScheduleParam(selectPilotVo);
  53. // 开始规划任务
  54. RequestResult res = fzssService.startSchedule(fzxzCalc);
  55. return res;
  56. }
  57. /**
  58. * 获取选址结果
  59. *
  60. * @param bsm
  61. * @return
  62. */
  63. @GetMapping("/GetXzjg")
  64. public RequestResult GetXzjg(String bsm) {
  65. RequestResult res = fzssService.GetXzjg(bsm);
  66. return res;
  67. }
  68. /**
  69. * 获取选址结果列表
  70. *
  71. * @param startTime
  72. * @param endTime
  73. * @param name
  74. * @return
  75. */
  76. @GetMapping("/GetXzResList")
  77. public RequestResult GetXzResList(String startTime, String endTime, String name, Integer pageNum, Integer pageSize) {
  78. RequestResult res = fzssService.GetXzResList(startTime, endTime, name, pageNum, pageSize);
  79. return res;
  80. }
  81. /**
  82. * 删除选址结果
  83. *
  84. * @return
  85. */
  86. @DeleteMapping("/DelXzRes")
  87. public RequestResult DelXzRes(String bsm) {
  88. RequestResult res = fzssService.DelXzRes(bsm);
  89. return res;
  90. }
  91. /**
  92. * 通过选择的方案生成报告
  93. *
  94. * @return
  95. */
  96. @PostMapping("/DownloadLandReport")
  97. public RequestResult SaveWordFile(@RequestBody DkReportVo dkReportVo) {
  98. FzxzReport fzxzReport = iReportService.createReport(dkReportVo.getBsm(), dkReportVo.getDkIds());
  99. Map<String, String> resMap = new HashMap<>();
  100. resMap.put("fxbg", fzxzReport.getReportfile());
  101. return RequestResult.success("查询成功!", resMap);
  102. }
  103. @GetMapping("/DownloadReport")
  104. public void fileDownload(String filePath, HttpServletResponse response) throws IOException {
  105. String realFileName = temp + filePath;
  106. File file = new File(realFileName);
  107. // 取得文件名。
  108. String downloadName = file.getName();
  109. response.setCharacterEncoding("utf-8");
  110. response.setContentType("multipart/form-data");
  111. response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
  112. // response.setHeader("Content-Disposition", "attachment;fileName=\"" + downloadName + "\"");
  113. response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(downloadName, "UTF-8"));
  114. FileUtils.writeBytes(realFileName, response.getOutputStream());
  115. }
  116. }