ExamDetailController.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. package com.qmth.distributed.print.api;
  2. import com.qmth.boot.api.annotation.Aac;
  3. import com.qmth.boot.api.annotation.BOOL;
  4. import com.qmth.boot.api.constant.ApiConstant;
  5. import com.qmth.distributed.print.business.bean.result.EditResult;
  6. import com.qmth.distributed.print.business.entity.TBTask;
  7. import com.qmth.distributed.print.business.enums.TaskTypeEnum;
  8. import com.qmth.distributed.print.business.service.ExamDetailService;
  9. import com.qmth.distributed.print.business.service.TBTaskService;
  10. import com.qmth.distributed.print.business.templete.execute.AsyncExaminationExportTemplateService;
  11. import com.qmth.distributed.print.business.templete.execute.AsyncExaminationImportTemplateService;
  12. import com.qmth.distributed.print.business.util.ServletUtil;
  13. import com.qmth.distributed.print.common.contant.SystemConstant;
  14. import com.qmth.distributed.print.common.util.Result;
  15. import com.qmth.distributed.print.common.util.ResultUtil;
  16. import io.swagger.annotations.*;
  17. import org.springframework.web.bind.annotation.RequestMapping;
  18. import org.springframework.web.bind.annotation.RequestMethod;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20. import org.springframework.web.bind.annotation.RestController;
  21. import org.springframework.web.multipart.MultipartFile;
  22. import javax.annotation.Resource;
  23. import java.io.IOException;
  24. import java.util.Map;
  25. import java.util.Objects;
  26. /**
  27. * <p>
  28. * 考务数据 前端控制器
  29. * </p>
  30. *
  31. * @author xf
  32. * @since 2021-03-23
  33. */
  34. @Api(tags = "考务数据管理Controller")
  35. @RestController
  36. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.exam}/print")
  37. @Aac(auth = BOOL.FALSE)
  38. public class ExamDetailController {
  39. @Resource
  40. private TBTaskService tbTaskService;
  41. @Resource
  42. private AsyncExaminationImportTemplateService asyncExaminationImportTemplateService;
  43. @Resource
  44. private AsyncExaminationExportTemplateService asyncExaminationExportTemplateService;
  45. @Resource
  46. private ExamDetailService examDetailService;
  47. @ApiOperation(value = "异步考务数据批量导入接口")
  48. @RequestMapping(value = "/data_import", method = RequestMethod.POST)
  49. @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
  50. public Result examinationImportAysnc(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
  51. @ApiParam(value = "印刷计划id", required = true) @RequestParam String printPlanId) throws Exception {
  52. Map<String, Object> map = tbTaskService.saveTask(SystemConstant.convertIdToLong(printPlanId), file, TaskTypeEnum.EXAMINATION_IMPORT);
  53. asyncExaminationImportTemplateService.importTask(map);
  54. TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
  55. return Objects.nonNull(tbTask) ? ResultUtil.ok(tbTask.getId()) : ResultUtil.error("创建任务失败");
  56. }
  57. @ApiOperation(value = "考务数据导入-查询")
  58. @RequestMapping(value = "/data_list", method = RequestMethod.POST)
  59. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  60. public Result findExaminationBrief(@ApiParam(value = "印刷计划id") @RequestParam(required = false) String printPlanId,
  61. @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
  62. @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
  63. @ApiParam(value = "考点") @RequestParam(required = false) String examPlace,
  64. @ApiParam(value = "考场") @RequestParam(required = false) String examRoom,
  65. @ApiParam(value = "卷袋号") @RequestParam(required = false) String packageCode,
  66. @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
  67. @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
  68. Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
  69. return ResultUtil.ok(examDetailService.findExaminationBriefPage(schoolId,
  70. SystemConstant.convertIdToLong(printPlanId), courseCode, paperNumber, examPlace, examRoom, packageCode, pageNumber, pageSize));
  71. }
  72. @ApiOperation(value = "考务数据导入-汇总数据查询")
  73. @RequestMapping(value = "/data_total", method = RequestMethod.POST)
  74. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  75. public Result findSummarizedData(@ApiParam(value = "印刷计划id") @RequestParam(required = false) String printPlanId,
  76. @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
  77. @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
  78. @ApiParam(value = "考点") @RequestParam(required = false) String examPlace,
  79. @ApiParam(value = "考场") @RequestParam(required = false) String examRoom,
  80. @ApiParam(value = "卷袋号") @RequestParam(required = false) String packageCode) {
  81. Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
  82. return ResultUtil.ok(examDetailService.findSummarizedData(schoolId,
  83. SystemConstant.convertIdToLong(printPlanId), courseCode, paperNumber, examPlace, examRoom, packageCode));
  84. }
  85. @ApiOperation(value = "考务数据导入-查看明细")
  86. @RequestMapping(value = "/data_detail", method = RequestMethod.POST)
  87. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  88. public Result findExaminationDetail(@ApiParam(value = "印刷计划主键") @RequestParam(required = false) String printPlanId,
  89. @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
  90. @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
  91. @ApiParam(value = "考点") @RequestParam(required = false) String examPlace,
  92. @ApiParam(value = "考场") @RequestParam(required = false) String examRoom,
  93. @ApiParam(value = "学生查询参数") @RequestParam(required = false) String studentParam,
  94. @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
  95. @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
  96. return ResultUtil.ok(examDetailService.findExaminationDetail(SystemConstant.convertIdToLong(printPlanId),
  97. courseCode, paperNumber, examPlace, examRoom, studentParam, pageNumber, pageSize));
  98. }
  99. @ApiOperation(value = "考务数据导入-查看明细弹窗")
  100. @RequestMapping(value = "/data_detail_list", method = RequestMethod.POST)
  101. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  102. public Result findExaminationDetailById(@ApiParam(value = "考务场次id",required = true) @RequestParam String examDetailId,
  103. @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
  104. @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
  105. return ResultUtil.ok(examDetailService.findExaminationDetail(SystemConstant.convertIdToLong(examDetailId),pageNumber,pageSize));
  106. }
  107. @ApiOperation(value = "考务数据导入-考点模糊查询")
  108. @RequestMapping(value = "/data_place_query", method = RequestMethod.POST)
  109. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  110. public Result findExamPlaceDatasource() {
  111. return ResultUtil.ok(examDetailService.findExamPlaceDatasource());
  112. }
  113. @ApiOperation(value = "考务数据导入-考场模糊查询")
  114. @RequestMapping(value = "/data_room_query", method = RequestMethod.POST)
  115. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  116. public Result findExamRoomDatasource() {
  117. return ResultUtil.ok(examDetailService.findExamRoomDatasource());
  118. }
  119. @ApiOperation(value = "考务数据导入-模板下载")
  120. @RequestMapping(value = "/template_download", method = RequestMethod.POST)
  121. @ApiResponses({@ApiResponse(code = 200, message = "下载成功", response = EditResult.class)})
  122. public void downLoadExaminationTemplate() throws IOException {
  123. Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
  124. examDetailService.downLoadExaminationTemplate(schoolId, ServletUtil.getResponse());
  125. }
  126. @ApiOperation(value = "考务数据导入-结果导出")
  127. @RequestMapping(value = "/data_export", method = RequestMethod.POST)
  128. @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
  129. public Result dataExport(@ApiParam(value = "印刷计划id") @RequestParam(required = false) String printPlanId,
  130. @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
  131. @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
  132. @ApiParam(value = "考点") @RequestParam(required = false) String examPlace,
  133. @ApiParam(value = "考场") @RequestParam(required = false) String examRoom,
  134. @ApiParam(value = "卷袋号") @RequestParam(required = false) String packageCode) {
  135. Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.EXAMINATION_EXPORT);
  136. map.put("printPlanId",printPlanId);
  137. map.put("courseCode",courseCode);
  138. map.put("paperNumber",paperNumber);
  139. map.put("examPlace",examPlace);
  140. map.put("examRoom",examRoom);
  141. map.put("packageCode",packageCode);
  142. asyncExaminationExportTemplateService
  143. .exportTask(map);
  144. TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
  145. return Objects.nonNull(tbTask) ? ResultUtil.ok(tbTask.getId()) : ResultUtil.error("创建任务失败");
  146. }
  147. }