ExamPrintPlanSyncController.java 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package com.qmth.distributed.print.api;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.qmth.boot.api.annotation.Aac;
  4. import com.qmth.boot.api.annotation.BOOL;
  5. import com.qmth.boot.api.constant.ApiConstant;
  6. import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
  7. import com.qmth.distributed.print.business.bean.dto.PrintTaskDto;
  8. import com.qmth.distributed.print.business.bean.dto.PrintTaskTotalDto;
  9. import com.qmth.distributed.print.business.bean.dto.RelatePaperDto;
  10. import com.qmth.distributed.print.business.bean.params.DeleteParams;
  11. import com.qmth.distributed.print.business.bean.params.PrintPlanParams;
  12. import com.qmth.distributed.print.business.bean.params.RelatePaperParam;
  13. import com.qmth.distributed.print.business.bean.params.SyncDataParam;
  14. import com.qmth.distributed.print.business.bean.result.EditResult;
  15. import com.qmth.distributed.print.business.entity.ExamDetail;
  16. import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
  17. import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
  18. import com.qmth.distributed.print.business.service.ExamDetailService;
  19. import com.qmth.distributed.print.business.service.ExamPrintPlanService;
  20. import com.qmth.distributed.print.business.service.ExamTaskDetailService;
  21. import com.qmth.distributed.print.business.service.ExamTaskService;
  22. import com.qmth.distributed.print.business.templete.execute.AsyncDownloadPdfTempleteService;
  23. import com.qmth.teachcloud.common.bean.params.ArraysParams;
  24. import com.qmth.teachcloud.common.contant.SystemConstant;
  25. import com.qmth.teachcloud.common.entity.SysUser;
  26. import com.qmth.teachcloud.common.entity.TBTask;
  27. import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
  28. import com.qmth.teachcloud.common.enums.TaskTypeEnum;
  29. import com.qmth.teachcloud.common.service.TBTaskService;
  30. import com.qmth.teachcloud.common.util.Result;
  31. import com.qmth.teachcloud.common.util.ResultUtil;
  32. import com.qmth.teachcloud.common.util.ServletUtil;
  33. import io.swagger.annotations.*;
  34. import org.springframework.beans.factory.annotation.Autowired;
  35. import org.springframework.validation.BindingResult;
  36. import org.springframework.web.bind.annotation.*;
  37. import javax.annotation.Resource;
  38. import javax.validation.Valid;
  39. import java.io.IOException;
  40. import java.util.Arrays;
  41. import java.util.List;
  42. import java.util.Map;
  43. import java.util.Objects;
  44. /**
  45. * <p>
  46. * 印刷计划管理 前端控制器
  47. * </p>
  48. *
  49. * @author xf
  50. * @since 2021-03-23
  51. */
  52. @Api(tags = "印刷计划管理Controller")
  53. @RestController
  54. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.exam}/print_sync")
  55. public class ExamPrintPlanSyncController {
  56. @Resource
  57. private ExamPrintPlanService examPrintPlanService;
  58. /**
  59. * 需要合并的计划查询
  60. * @param printPlanId
  61. * @param status
  62. * @param startTime
  63. * @param endTime
  64. * @param pageNumber
  65. * @param pageSize
  66. * @return
  67. */
  68. @ApiOperation(value = "印刷计划查询")
  69. @RequestMapping(value = "/list_sync", method = RequestMethod.POST)
  70. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  71. public Result findPrintPlanPage(@ApiParam(value = "印刷计划id") @RequestParam(required = false) String printPlanId,
  72. @ApiParam(value = "印刷计划状态") @RequestParam(required = false) PrintPlanStatusEnum status,
  73. @ApiParam(value = "计划创建时间段开始时间") @RequestParam(required = false) Long startTime,
  74. @ApiParam(value = "计划创建时间段结束时间") @RequestParam(required = false) Long endTime,
  75. @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
  76. @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
  77. Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
  78. return ResultUtil.ok(examPrintPlanService.printPlanPage(schoolId, SystemConstant.convertIdToLong(printPlanId), status, startTime, endTime, pageNumber, pageSize));
  79. }
  80. @ApiOperation(value = "云阅卷考试ID查询")
  81. @RequestMapping(value = "/list_relate_id", method = RequestMethod.POST)
  82. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  83. public Result findPrintPlanPage() {
  84. Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
  85. return ResultUtil.ok(examPrintPlanService.printSyncPlan(schoolId));
  86. }
  87. /**
  88. * 多计划合并同步
  89. * @param syncDataParam
  90. * @return
  91. * @throws Exception
  92. */
  93. @ApiOperation(value = "多计划合并同步")
  94. @RequestMapping(value = "/sync_data_merge", method = RequestMethod.POST)
  95. @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
  96. public Result syncDataCloud(@RequestBody SyncDataParam syncDataParam) {
  97. examPrintPlanService.syncDataMerge(syncDataParam);
  98. return ResultUtil.ok(true);
  99. }
  100. /**
  101. * 手动同步
  102. * @param printPlanId
  103. * @param thirdRelateId
  104. * @return
  105. * @throws Exception
  106. */
  107. @ApiOperation(value = "同步失败-手动同步")
  108. @RequestMapping(value = "/sync_data_cloud", method = RequestMethod.POST)
  109. @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
  110. @Aac(auth = BOOL.FALSE)
  111. public Result syncDataCloud(@RequestParam(value = "printPlanId") Long printPlanId,
  112. @RequestParam(value = "thirdRelateId", required = false) Long thirdRelateId) {
  113. examPrintPlanService.syncDataCloud(printPlanId, thirdRelateId);
  114. return ResultUtil.ok(true);
  115. }
  116. }