FzssController.java 4.1 KB

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