|
@@ -1,23 +1,26 @@
|
|
package com.qmth.distributed.print.api;
|
|
package com.qmth.distributed.print.api;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import com.google.gson.reflect.TypeToken;
|
|
import com.qmth.boot.api.constant.ApiConstant;
|
|
import com.qmth.boot.api.constant.ApiConstant;
|
|
import com.qmth.distributed.print.business.bean.excel.ExcelField;
|
|
import com.qmth.distributed.print.business.bean.excel.ExcelField;
|
|
import com.qmth.distributed.print.business.bean.result.EditResult;
|
|
import com.qmth.distributed.print.business.bean.result.EditResult;
|
|
import com.qmth.distributed.print.business.bean.result.report.PaperStructResult;
|
|
import com.qmth.distributed.print.business.bean.result.report.PaperStructResult;
|
|
import com.qmth.distributed.print.business.entity.TCFinalScore;
|
|
import com.qmth.distributed.print.business.entity.TCFinalScore;
|
|
|
|
+import com.qmth.distributed.print.business.entity.TCPaperStruct;
|
|
import com.qmth.distributed.print.business.service.PrintCommonService;
|
|
import com.qmth.distributed.print.business.service.PrintCommonService;
|
|
import com.qmth.distributed.print.business.service.TCFinalScoreService;
|
|
import com.qmth.distributed.print.business.service.TCFinalScoreService;
|
|
|
|
+import com.qmth.distributed.print.business.service.TCPaperStructService;
|
|
import com.qmth.teachcloud.common.annotation.OperationLogDetail;
|
|
import com.qmth.teachcloud.common.annotation.OperationLogDetail;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.MarkQuestion;
|
|
import com.qmth.teachcloud.common.entity.MarkQuestion;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
|
|
import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
|
|
|
|
+import com.qmth.teachcloud.common.util.GsonUtil;
|
|
import com.qmth.teachcloud.common.util.ResultUtil;
|
|
import com.qmth.teachcloud.common.util.ResultUtil;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
-import com.qmth.teachcloud.mark.entity.MarkPaper;
|
|
|
|
-import com.qmth.teachcloud.mark.service.MarkPaperService;
|
|
|
|
import com.qmth.teachcloud.mark.service.MarkQuestionService;
|
|
import com.qmth.teachcloud.mark.service.MarkQuestionService;
|
|
import io.swagger.annotations.*;
|
|
import io.swagger.annotations.*;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
@@ -61,7 +64,7 @@ public class TCFinalScoreController {
|
|
MarkQuestionService markQuestionService;
|
|
MarkQuestionService markQuestionService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
- MarkPaperService markPaperService;
|
|
|
|
|
|
+ TCPaperStructService tcPaperStructService;
|
|
|
|
|
|
@ApiOperation(value = "导入期末成绩-模板下载")
|
|
@ApiOperation(value = "导入期末成绩-模板下载")
|
|
@RequestMapping(value = "/final_score/template_download", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/final_score/template_download", method = RequestMethod.POST)
|
|
@@ -160,7 +163,7 @@ public class TCFinalScoreController {
|
|
@OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.UPDATE)
|
|
@OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.UPDATE)
|
|
@ApiResponses({@ApiResponse(code = 200, message = "试卷蓝图保存", response = Object.class)})
|
|
@ApiResponses({@ApiResponse(code = 200, message = "试卷蓝图保存", response = Object.class)})
|
|
@Transactional
|
|
@Transactional
|
|
- public Object finalScorePaperStructSave(@ApiParam(value = "试卷蓝图结构", required = true) @Valid @RequestBody PaperStructResult paperStructResult, BindingResult bindingResult) throws IOException {
|
|
|
|
|
|
+ public Object finalScorePaperStructSave(@ApiParam(value = "试卷蓝图结构", required = true) @Valid @RequestBody List<PaperStructResult> paperStructResultList, BindingResult bindingResult) throws IOException {
|
|
if (bindingResult.hasErrors()) {
|
|
if (bindingResult.hasErrors()) {
|
|
return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
|
|
return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
|
|
}
|
|
}
|
|
@@ -174,12 +177,24 @@ public class TCFinalScoreController {
|
|
public Object finalScorePaperStructQuery(@ApiParam(value = "考试id", required = true) @RequestParam Long examId,
|
|
public Object finalScorePaperStructQuery(@ApiParam(value = "考试id", required = true) @RequestParam Long examId,
|
|
@ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
|
|
@ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
|
|
@ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber) throws IOException {
|
|
@ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber) throws IOException {
|
|
- List<MarkQuestion> markQuestionList = markQuestionService.listQuestionByExamIdAndPaperNumberAndPaperType(examId, paperNumber, null);
|
|
|
|
- if (CollectionUtils.isEmpty(markQuestionList)) {
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到试卷结构");
|
|
|
|
|
|
+ List<PaperStructResult> paperStructResultList = null;
|
|
|
|
+ TCPaperStruct tcPaperStruct = tcPaperStructService.getOne(new QueryWrapper<TCPaperStruct>().lambda().eq(TCPaperStruct::getExamId, examId).eq(TCPaperStruct::getCourseCode, courseCode).eq(TCPaperStruct::getPaperNumber, paperNumber));
|
|
|
|
+ if (Objects.isNull(tcPaperStruct)) {
|
|
|
|
+ List<MarkQuestion> markQuestionList = markQuestionService.listQuestionByExamIdAndPaperNumberAndPaperType(examId, paperNumber, null);
|
|
|
|
+ if (CollectionUtils.isEmpty(markQuestionList)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到试卷结构");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ paperStructResultList = new ArrayList<>(markQuestionList.size());
|
|
|
|
+ for (MarkQuestion markQuestion : markQuestionList) {
|
|
|
|
+ paperStructResultList.add(new PaperStructResult(markQuestion.getMainNumber(), markQuestion.getSubNumber(), markQuestion.getTotalScore()));
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ if (Objects.nonNull(tcPaperStruct.getPaperStruct())) {
|
|
|
|
+ paperStructResultList = GsonUtil.fromJson(tcPaperStruct.getPaperStruct(), new TypeToken<List<PaperStructResult>>() {
|
|
|
|
+ }.getType());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
|
|
|
|
- Objects.requireNonNull(markPaper, "未找到科目信息");
|
|
|
|
- return ResultUtil.ok(true);
|
|
|
|
|
|
+ return ResultUtil.ok(paperStructResultList);
|
|
}
|
|
}
|
|
}
|
|
}
|