xiaofei 1 жил өмнө
parent
commit
1b3fd1eba0

+ 2 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/BaseController.java

@@ -38,13 +38,13 @@ public class BaseController {
         validMarkPaperStatus(markPaper);
     }
 
-    private void validMarkPaperMarkTime(MarkPaper markPaper) {
+    private void validMarkPaperStatus(MarkPaper markPaper) {
         if (MarkPaperStatus.FINISH.equals(markPaper.getStatus())) {
             throw ExceptionResultEnum.MARK_PAPER_FINISH.exception();
         }
     }
 
-    private void validMarkPaperStatus(MarkPaper markPaper) {
+    private void validMarkPaperMarkTime(MarkPaper markPaper) {
         Long markStartTime = markPaper.getMarkStartTime();
         Long markEndTime = markPaper.getMarkEndTime();
         if (markPaper != null && markStartTime != null && markEndTime != null) {

+ 7 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/ScanExamController.java

@@ -4,12 +4,12 @@ import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.service.BasicExamService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicExam;
-import com.qmth.teachcloud.common.util.RedisUtil;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.mark.service.MarkStudentService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -28,14 +28,18 @@ public class ScanExamController {
 
     @ApiOperation(value = "扫描汇总-答题卡扫描、签到表扫描")
     @RequestMapping(value = "card/info", method = RequestMethod.POST)
-    public Result cardInfo(@RequestParam Long examId) {
+    public Result cardInfo(@ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                           @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
+                           @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber) {
         BasicExam exam = basicExamService.getById(examId);
         return ResultUtil.ok(markStudentService.getScanExamInfo(exam));
     }
 
     @ApiOperation(value = "扫描汇总-数据校对")
     @RequestMapping(value = "check/info", method = RequestMethod.POST)
-    public Result checkInfo(@RequestParam Long examId) {
+    public Result checkInfo(@ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                            @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
+                            @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber) {
         BasicExam exam = basicExamService.getById(examId);
         return ResultUtil.ok(markStudentService.checkInfo(exam));
     }

+ 10 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkGroupServiceImpl.java

@@ -337,10 +337,8 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
             markUserGroupService.saveBatch(markUserGroups);
         }
 
-
         // 更新MarkPaper中groupStatus
-        long groupNumberIsNull = markQuestionService.countQuestionByExamIdAndPaperNumberAndGroupNumberIsNull(examId, paperNumber, false);
-        markPaperService.updateGroupStatusByExamIdAndPaperNumber(groupNumberIsNull == 0, examId, paperNumber);
+        updateMarkGroupStatus(examId, paperNumber);
     }
 
     @Transactional
@@ -402,6 +400,9 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
                 || (markGroupDto.getDoubleEnable() && (doubleRate == null || markGroupDto.getDoubleRate().doubleValue() != markGroup.getDoubleRate().doubleValue()))) {
             markSyncService.deleteMarkGroup(markGroup, false);
         }
+
+        // 更新MarkPaper中groupStatus
+        updateMarkGroupStatus(examId, paperNumber);
     }
 
     @Override
@@ -456,4 +457,10 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
                 .eq(MarkGroup::getNumber, groupNumber);
         this.update(markGroupUpdateWrapper);
     }
+
+    private void updateMarkGroupStatus(Long examId, String paperNumber){
+        // 更新MarkPaper中groupStatus
+        long groupNumberIsNull = markQuestionService.countQuestionByExamIdAndPaperNumberAndGroupNumberIsNull(examId, paperNumber, false);
+        markPaperService.updateGroupStatusByExamIdAndPaperNumber(groupNumberIsNull == 0, examId, paperNumber);
+    }
 }

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkPaperServiceImpl.java

@@ -108,7 +108,7 @@ public class MarkPaperServiceImpl extends ServiceImpl<MarkPaperMapper, MarkPaper
                 .eq(MarkPaper::getPaperNumber, markPaper.getPaperNumber());
 
         // 更新评卷员模式
-        markUserGroupService.updateMode(markPaper.getExamId(), markPaper.getPaperNumber(), null, null, markPaper.getMarkMode());
+        markUserGroupService.updateMode(markPaper.getExamId(), markPaper.getPaperNumber(), null, null, MarkMode.UNLIMITED.equals(markPaper.getMarkMode()) ? MarkMode.TRACK : markPaper.getMarkMode());
         this.update(updateWrapper);
     }