PaperController.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.mooctest.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.mooctest.service.ExcelInputService;
  6. import com.mooctest.service.PaperService;
  7. import com.mooctest.util.ImportDataMap;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.beans.factory.annotation.Value;
  10. import org.springframework.stereotype.Controller;
  11. import org.springframework.ui.Model;
  12. import org.springframework.web.bind.annotation.*;
  13. import org.springframework.web.multipart.MultipartFile;
  14. import javax.servlet.http.HttpServletResponse;
  15. import java.io.IOException;
  16. import java.sql.Timestamp;
  17. import java.util.Map;
  18. @Controller
  19. public class PaperController {
  20. @Value("${report.host}")
  21. String reportHost ;
  22. @Autowired
  23. PaperService paperService;
  24. @Autowired
  25. ExcelInputService excelInputService;
  26. @Autowired
  27. ImportDataMap importDataMap;
  28. private String ITEM_GROUP_NAME = "item_group_list";
  29. @GetMapping("/addPaper")
  30. public String addPaper (Model model){
  31. model.addAttribute("reportHost",reportHost);
  32. return "add_paper";
  33. }
  34. @GetMapping("/addExcel")
  35. public String addExcel (Model model){
  36. model.addAttribute("type_map", importDataMap.typeMap);
  37. return "add_excel_pro";
  38. }
  39. @PostMapping("/add_excel_pro")
  40. @ResponseBody
  41. public String excelToMongo (@RequestParam("name")String name, @RequestParam("excelFile") MultipartFile multipartFile, @RequestParam("come") Integer comeFrom) throws IOException {
  42. // 从前端接收Excel文件,并返回文件保存的全路径
  43. String fileFullPath = excelInputService.saveMultipartFile(multipartFile, name);
  44. // 拿取文件,并将文件内容插入到Mongo数据库中
  45. Map<String, Boolean> is_success = excelInputService.excelToMongo(fileFullPath, name, comeFrom);
  46. String insert_success_json= JSON.toJSONString(is_success);
  47. return insert_success_json;
  48. }
  49. @DeleteMapping("/dpaper")
  50. @ResponseBody
  51. public JSONObject deletePaper (Model model , @RequestParam("id") String id ){
  52. return paperService.deletePaper(id);
  53. }
  54. @GetMapping("/papers")
  55. public String auditTask ( Model model){
  56. JSONArray jsonArray = paperService.getPaperData(); // 所有的数据。
  57. for (Object single : jsonArray){
  58. single = (JSONObject) single;
  59. changeTime2Long(single); // 修改创建时间的格式 以便前段展示
  60. }
  61. model.addAttribute("tasks",jsonArray);
  62. model.addAttribute("reportHost",reportHost);
  63. return "paper_list";
  64. }
  65. @GetMapping("/changePaper")
  66. public String changeTask ( Model model ,@RequestParam("id") String id ){
  67. JSONObject data = paperService.getSinglePaper(id);
  68. JSONArray arrary = data.getJSONArray(ITEM_GROUP_NAME);
  69. model.addAttribute("data",data);
  70. model.addAttribute("ruleLength",arrary.size());
  71. model.addAttribute("reportHost",reportHost);
  72. return "changePaper";
  73. }
  74. @GetMapping("/paperDetail")
  75. public String paperDetail ( Model model , @RequestParam("id") String id){
  76. JSONObject data = paperService.getSinglePaper(id);
  77. JSONArray jobs = paperService.getJobsByPaperId(id);
  78. for(Object o : jobs){
  79. changeTime2Long(o);
  80. }
  81. model.addAttribute("data",data);
  82. model.addAttribute("reportHost",reportHost);
  83. model.addAttribute("jobs",jobs);
  84. return "paperDetail";
  85. }
  86. private void changeTime2Long ( Object input){
  87. JSONObject temp = (JSONObject) input;
  88. temp.put("create_time",new Timestamp(Long.parseLong(temp.get("create_time").toString()))); // 修改创建时间的格式 以便前段展示
  89. }
  90. }