RDController.java 4.5 KB

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