RDContorller.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package com.goafanti.RD.controller;
  2. import com.goafanti.RD.bo.InputRdDetails;
  3. import com.goafanti.RD.bo.InputRdList;
  4. import com.goafanti.RD.service.RDService;
  5. import com.goafanti.common.bo.Result;
  6. import com.goafanti.common.controller.BaseApiController;
  7. import com.goafanti.common.controller.PublicController;
  8. import com.goafanti.common.utils.LoggerUtils;
  9. import com.goafanti.common.utils.excel.FileUtils;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.beans.factory.annotation.Value;
  12. import org.springframework.http.MediaType;
  13. import org.springframework.validation.BindingResult;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestMethod;
  16. import org.springframework.web.bind.annotation.RequestParam;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import org.springframework.web.multipart.MultipartFile;
  19. import javax.servlet.http.HttpServletResponse;
  20. @RestController
  21. @RequestMapping(value = "/api/admin/RD")
  22. public class RDContorller extends BaseApiController {
  23. @Autowired
  24. private RDService rdService;
  25. @Value(value = "${upload.path}")
  26. private final String uploadPath = null;
  27. @RequestMapping(value="/add",method = RequestMethod.POST)
  28. public Result add( InputRdDetails in ) {
  29. Result res= new Result();
  30. res.data(rdService.add(in));
  31. return res;
  32. }
  33. @RequestMapping(value="/update",method = RequestMethod.POST)
  34. public Result update( InputRdDetails in ,BindingResult bindingResult) {
  35. Result res= new Result();
  36. res.data(rdService.update(in));
  37. return res;
  38. }
  39. @RequestMapping(value = "/addBrowse",method = RequestMethod.POST)
  40. public Result addBrowse(Long id){
  41. Result res =new Result();
  42. res.setData(rdService.updateBrowseOrDownload(id,0));
  43. return res;
  44. }
  45. @RequestMapping(value = "/addDownload",method = RequestMethod.POST)
  46. public Result addDownload(Long id){
  47. Result res =new Result();
  48. res.setData(rdService.updateBrowseOrDownload(id,1));
  49. return res;
  50. }
  51. @RequestMapping(value = "/details",method = RequestMethod.GET)
  52. public Result details(Long id){
  53. Result res =new Result();
  54. res.setData(rdService.details(id));
  55. return res;
  56. }
  57. @RequestMapping(value = "/list",method = RequestMethod.GET)
  58. public Result list(InputRdList in){
  59. Result res =new Result();
  60. res.setData(rdService.list(in));
  61. return res;
  62. }
  63. @RequestMapping(value = "/exportList",method = RequestMethod.GET)
  64. public Result exportList(InputRdList in){
  65. return rdService.exportList(in,uploadPath);
  66. }
  67. /**
  68. * Excel批量导入
  69. *
  70. * @return
  71. */
  72. @RequestMapping(value = "/import" , method = RequestMethod.POST)
  73. public Result importTemplate(@RequestParam(value = "file", required = false) MultipartFile file) {
  74. Result res=new Result();
  75. //判断文件是否存在
  76. if(null == file){
  77. res.getError().add(buildError("文件不存在!","文件不存在!"));
  78. return res;
  79. }
  80. String fileName = file.getOriginalFilename();
  81. if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
  82. res.getError().add(buildError("格式不正确","格式不正确"));
  83. return res;
  84. }
  85. res.data(rdService.batchList(file));
  86. return res;
  87. }
  88. /**
  89. * 批量导入回款模版
  90. *
  91. * @return
  92. */
  93. @RequestMapping(value = "/downloadTemplate", method = RequestMethod.GET)
  94. public void downloadTemplate(HttpServletResponse response) {
  95. Result res = new Result();
  96. StringBuffer url= new StringBuffer(uploadPath);
  97. url=url.append("/tmp").append("/RD_details_template.xlsx");
  98. try {
  99. response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
  100. FileUtils.setAttachmentResponseHeader(response, url.toString(),"研发活动导入模版.xlsx");
  101. FileUtils.writeBytes(url.toString(), response.getOutputStream());
  102. }
  103. catch (Exception e) {
  104. LoggerUtils.error(PublicController.class,"下载文件失败", e);
  105. }
  106. }
  107. @RequestMapping(value = "/downloadDetailsWord",method = RequestMethod.GET)
  108. public void downloadDetailsWord(Long id,HttpServletResponse response){
  109. rdService.pushDownloadDetailsWord(id,response);
  110. }
  111. @RequestMapping(value = "/downloadDetailsPDF",method = RequestMethod.GET)
  112. public void downloadDetailsPDF(Long id,HttpServletResponse response){
  113. rdService.pushDownloadDetailsPDF(id,response);
  114. }
  115. }