|
@@ -1,18 +1,28 @@
|
|
|
package com.qmth.distributed.print.api;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.qmth.boot.api.constant.ApiConstant;
|
|
|
import com.qmth.distributed.print.business.bean.result.ScoreResult;
|
|
|
import com.qmth.distributed.print.business.bean.result.report.ReportResult;
|
|
|
import com.qmth.distributed.print.business.entity.TRBasicInfo;
|
|
|
+import com.qmth.distributed.print.business.service.BasicExamService;
|
|
|
+import com.qmth.distributed.print.business.service.ExamStudentService;
|
|
|
import com.qmth.distributed.print.business.service.PrintCommonService;
|
|
|
+import com.qmth.distributed.print.business.service.TRBasicInfoService;
|
|
|
import com.qmth.teachcloud.common.annotation.OperationLogDetail;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
+import com.qmth.teachcloud.common.entity.BasicExam;
|
|
|
+import com.qmth.teachcloud.common.entity.BasicSemester;
|
|
|
+import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
|
|
|
+import com.qmth.teachcloud.common.service.BasicSemesterService;
|
|
|
import com.qmth.teachcloud.common.util.ResultUtil;
|
|
|
+import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
import com.qmth.teachcloud.mark.entity.MarkPaper;
|
|
|
import com.qmth.teachcloud.mark.service.MarkPaperService;
|
|
|
import io.swagger.annotations.*;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.BindingResult;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
@@ -42,6 +52,18 @@ public class TRBasicInfoController {
|
|
|
@Resource
|
|
|
MarkPaperService markPaperService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ TRBasicInfoService trBasicInfoService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ BasicSemesterService basicSemesterService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ ExamStudentService examStudentService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ BasicExamService basicExamService;
|
|
|
+
|
|
|
@ApiOperation(value = "报告管理列表")
|
|
|
@RequestMapping(value = "/report/list", method = RequestMethod.POST)
|
|
|
@OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
|
|
@@ -57,12 +79,27 @@ public class TRBasicInfoController {
|
|
|
@RequestMapping(value = "/report/view", method = RequestMethod.POST)
|
|
|
@OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
|
|
|
@ApiResponses({@ApiResponse(code = 200, message = "查看报告", response = ReportResult.class)})
|
|
|
+ @Transactional
|
|
|
public Object reportView(@ApiParam(value = "考试id", required = true) @RequestParam Long examId,
|
|
|
@ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
|
|
|
@ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber) {
|
|
|
MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
|
|
|
Objects.requireNonNull(markPaper, "未找到科目信息");
|
|
|
- return ResultUtil.ok(true);
|
|
|
+
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ TRBasicInfo trBasicInfo = trBasicInfoService.getOne(new QueryWrapper<TRBasicInfo>().lambda().eq(TRBasicInfo::getExamId, examId).eq(TRBasicInfo::getCourseCode, courseCode).eq(TRBasicInfo::getPaperNumber, paperNumber));
|
|
|
+ if (Objects.isNull(trBasicInfo)) {
|
|
|
+ BasicExam basicExam = basicExamService.getById(examId);
|
|
|
+ Objects.requireNonNull(basicExam, "未找到考试信息");
|
|
|
+
|
|
|
+ BasicSemester basicSemester = basicSemesterService.getById(basicExam.getSemesterId());
|
|
|
+ Objects.requireNonNull(basicSemester, "未找到学期信息");
|
|
|
+
|
|
|
+ //TODO 有测试数据,待肖飞补充授课对象和任课老师数据
|
|
|
+ trBasicInfo = new TRBasicInfo(examId, courseCode, markPaper.getCourseName(), paperNumber, basicSemester.getName(), "测试班级1", "测试老师1", 40, sysUser.getId());
|
|
|
+ trBasicInfoService.save(trBasicInfo);
|
|
|
+ }
|
|
|
+ return ResultUtil.ok(trBasicInfo);
|
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "保存报告")
|
|
@@ -73,9 +110,14 @@ public class TRBasicInfoController {
|
|
|
if (bindingResult.hasErrors()) {
|
|
|
return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
|
|
|
}
|
|
|
- MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(trBasicInfo.getExamId(), trBasicInfo.getPaperNumber());
|
|
|
- Objects.requireNonNull(markPaper, "未找到科目信息");
|
|
|
- return ResultUtil.ok(true);
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ TRBasicInfo trBasicInfoDb = trBasicInfoService.getOne(new QueryWrapper<TRBasicInfo>().lambda().eq(TRBasicInfo::getExamId, trBasicInfo.getExamId()).eq(TRBasicInfo::getCourseCode, trBasicInfo.getCourseCode()).eq(TRBasicInfo::getPaperNumber, trBasicInfo.getPaperNumber()));
|
|
|
+ if (Objects.isNull(trBasicInfoDb)) {
|
|
|
+ trBasicInfoDb = new TRBasicInfo(trBasicInfoDb, sysUser.getId());
|
|
|
+ } else {
|
|
|
+ trBasicInfoDb.updateInfo(trBasicInfo, sysUser.getId());
|
|
|
+ }
|
|
|
+ return ResultUtil.ok(trBasicInfoService.saveOrUpdate(trBasicInfo));
|
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "导出报告")
|
|
@@ -85,7 +127,7 @@ public class TRBasicInfoController {
|
|
|
public void reportExport(@ApiParam(value = "考试id", required = true) @RequestParam Long examId,
|
|
|
@ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
|
|
|
@ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber) throws IOException {
|
|
|
- MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
|
|
|
- Objects.requireNonNull(markPaper, "未找到科目信息");
|
|
|
+ TRBasicInfo trBasicInfo = trBasicInfoService.getOne(new QueryWrapper<TRBasicInfo>().lambda().eq(TRBasicInfo::getExamId, examId).eq(TRBasicInfo::getCourseCode, courseCode).eq(TRBasicInfo::getPaperNumber, paperNumber));
|
|
|
+ Objects.requireNonNull(trBasicInfo, "没有报告信息");
|
|
|
}
|
|
|
}
|