Bladeren bron

fix:赋分管理特殊赋分的科目不能再计算

caozixuan 3 jaren geleden
bovenliggende
commit
b8ae23c97d

+ 14 - 1
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/CourseController.java

@@ -17,12 +17,16 @@ import com.qmth.teachcloud.report.business.bean.dto.excel.TAExamCourseExportDto;
 import com.qmth.teachcloud.report.business.bean.result.*;
 import com.qmth.teachcloud.report.business.bean.result.inspectCourseExamTotal.InspectCourseTotalReportResult;
 import com.qmth.teachcloud.report.business.entity.TBExamCourse;
+import com.qmth.teachcloud.report.business.entity.TBPaper;
+import com.qmth.teachcloud.report.business.enums.AssignEnum;
 import com.qmth.teachcloud.report.business.enums.OrderEnum;
 import com.qmth.teachcloud.report.business.enums.PublishStatusEnum;
 import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import com.qmth.teachcloud.report.business.service.*;
 import com.qmth.teachcloud.report.business.templete.execute.AsyncDataCalculateTempleteService;
 import io.swagger.annotations.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -37,6 +41,7 @@ import java.util.Objects;
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.reportCourse}")
 public class CourseController {
+    private final static Logger log = LoggerFactory.getLogger(CourseController.class);
 
     @Resource
     TAExamCourseService taExamCourseService;
@@ -223,8 +228,16 @@ public class CourseController {
             @ApiParam(value = "考试id", required = true) @RequestParam String examId,
             @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
             @ApiParam(value = "赋分系数", required = true) @RequestParam String coefficient) {
+        List<TBPaper> tbPaperList = tbPaperService.list(new QueryWrapper<TBPaper>().lambda()
+                .eq(TBPaper::getExamId,examId)
+                .eq(TBPaper::getCourseCode,courseCode));
+        if (tbPaperList.size() != 1){
+            log.error("未找到考试id为 :" + examId + " 课程编号为 : " + courseCode + "的试卷结构");
+            throw ExceptionResultEnum.ERROR.exception("未找到试卷结构");
+        }
 
-        if (!coefficient.equals(SystemConstant.DEFAULT_SIGN)) {
+        // 赋分系数不为#且试卷结构不为特殊赋分的科目才执行赋分操作
+        if (!coefficient.equals(SystemConstant.DEFAULT_SIGN) && !AssignEnum.SPECIAL_ASSIGN_SCORE.equals(tbPaperList.get(0).getScoreType())) {
             Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.DATA_CALCULATE);
             map.put("examId", examId);
             map.put("courseCode", courseCode);