CommonQueryController.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package com.izouma.awesomeadmin.web;
  2. import com.izouma.awesomeadmin.constant.AppConstant;
  3. import com.izouma.awesomeadmin.dto.Page;
  4. import com.izouma.awesomeadmin.dto.Result;
  5. import com.izouma.awesomeadmin.model.CommonQuery;
  6. import com.izouma.awesomeadmin.service.CommonQueryService;
  7. import com.izouma.awesomeadmin.util.ExportExcelUtil;
  8. import net.sf.json.JSONObject;
  9. import org.apache.shiro.authz.annotation.RequiresAuthentication;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Controller;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RequestMethod;
  14. import org.springframework.web.bind.annotation.RequestParam;
  15. import org.springframework.web.bind.annotation.ResponseBody;
  16. import javax.servlet.http.HttpServletResponse;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * controller类
  22. */
  23. @Controller
  24. @RequestMapping("/commonQuery")
  25. public class CommonQueryController {
  26. @Autowired
  27. private CommonQueryService commonQueryService;
  28. /**
  29. * <p>获取全部记录。</p>
  30. */
  31. @RequiresAuthentication
  32. @RequestMapping(value = "/all", method = RequestMethod.GET)
  33. @ResponseBody
  34. public Result all(CommonQuery record) {
  35. List<Map> pp = commonQueryService.getTableListAll(record);
  36. return new Result(true, pp);
  37. }
  38. /**
  39. * <p>分页查询。</p>
  40. */
  41. @RequestMapping(value = "/page", method = RequestMethod.GET)
  42. @ResponseBody
  43. public Result page(Page page, CommonQuery record) {
  44. Map<String, Object> result = new HashMap<>();
  45. List<Map> pp = commonQueryService.getTableListByPage(page, record);
  46. result.put(AppConstant.PAGE, page);
  47. result.put("pp", pp);
  48. return new Result(true, result);
  49. }
  50. @RequestMapping(value = "/one", method = RequestMethod.GET)
  51. @ResponseBody
  52. public Result one(CommonQuery record) {
  53. Map pp = commonQueryService.selectByPrimaryKey(record);
  54. return new Result(true, pp);
  55. }
  56. /**
  57. * <p>保存。</p>
  58. */
  59. @RequestMapping(value = "/save", method = RequestMethod.POST)
  60. @ResponseBody
  61. public Result save(@RequestParam Map<String, Object> record) {
  62. JSONObject formData = JSONObject.fromObject(record.get("formData"));
  63. record.put("formData", formData);
  64. boolean num = commonQueryService.create(record);
  65. if (num) {
  66. return new Result(true, record.get("id"));
  67. }
  68. return new Result(false, "保存异常");
  69. }
  70. /**
  71. * <p>更新信息。</p>
  72. */
  73. @RequestMapping(value = "/update", method = RequestMethod.POST)
  74. @ResponseBody
  75. public Result update(@RequestParam Map<String, Object> record) {
  76. JSONObject formData = JSONObject.fromObject(record.get("formData"));
  77. record.put("formData", formData);
  78. boolean num = commonQueryService.update(record);
  79. if (num) {
  80. return new Result(true, "保存成功");
  81. }
  82. return new Result(false, "保存异常");
  83. }
  84. /**
  85. * <p>删除。</p>
  86. */
  87. @RequestMapping(value = "/del", method = RequestMethod.POST)
  88. @ResponseBody
  89. public Result delete(CommonQuery record) {
  90. boolean num = commonQueryService.delete(record);
  91. if (num) {
  92. return new Result(true, "删除成功");
  93. }
  94. return new Result(false, "删除异常");
  95. }
  96. @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
  97. @ResponseBody
  98. public void exportExcel(HttpServletResponse response, CommonQuery record) throws Exception {
  99. List<Map> pp = commonQueryService.getTableListAll(record);
  100. String sheetName = record.getTableName();
  101. String titleName = record.getTableName();
  102. String fileName = record.getTableName();
  103. if (pp.size() > 0) {
  104. String[] columnName = record.getColumnNameStr().split("_,");
  105. int columnNumber = columnName.length;
  106. int[] columnWidth = new int[columnName.length];
  107. for (int i = 0; i < columnNumber; i++) {
  108. columnWidth[i] = 20;
  109. }
  110. // int columnIndex = 0;
  111. // for (Object key : pp.get(0).keySet()) {
  112. // columnName[columnIndex] = String.valueOf(key);
  113. // columnIndex++;
  114. // }
  115. String[][] dataList = new String[pp.size()][columnNumber];
  116. for (int i = 0; i < pp.size(); i++) {
  117. for (int j = 0; j < columnName.length; j++) {
  118. for (Object key : pp.get(i).keySet()) {
  119. if (columnName[j].equals(key)) {
  120. dataList[i][j] = String.valueOf(String.valueOf(pp.get(i).get(key)));
  121. }
  122. }
  123. }
  124. }
  125. ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
  126. columnNumber, columnWidth, columnName, dataList, response);
  127. }
  128. }
  129. }