Quellcode durchsuchen

阅卷违纪审核

xiatian vor 11 Monaten
Ursprung
Commit
2c182cc01f

+ 1 - 1
examcloud-core-oe-admin-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/controller/ExamAuditController.java

@@ -228,7 +228,7 @@ public class ExamAuditController extends ControllerSupport {
         //原需求:已经生成了评卷任务,不能重新审为不通过,但是可以审核为已通过
         //20191220,需求临时调整:已经生成了评卷任务,均不可重审
         //20200923,需求调整,恢复至原需求:已经生成了评卷任务,不能重新审为不通过,但是可以审核为已通过
-        if(redoAuditInfo.getSkip() == null || !redoAuditInfo.getSkip()){
+        if(redoAuditInfo.getFromMarking() == null || !redoAuditInfo.getFromMarking()){
             String markingTaskBuilt =
                     ExamCacheTransferHelper.getDefaultCachedExamProperty(examId, ExamProperties.MARKING_TASK_BUILDED.name()).getValue();
             if (StringUtils.isNotBlank(markingTaskBuilt) && Constants.isTrue.equals(markingTaskBuilt)) {

+ 10 - 9
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/bean/examaudit/RedoAuditInfo.java

@@ -41,17 +41,10 @@ public class RedoAuditInfo implements JsonSerializable {
     private String disciplineDetail;
 
     /**
-     * 是否跳过评卷限制
+     * 是否来自阅卷
      */
-    private Boolean skip;
+    private Boolean fromMarking;
 
-    public Boolean getSkip() {
-        return skip;
-    }
-
-    public void setSkip(Boolean skip) {
-        this.skip = skip;
-    }
 
     public List<Long> getExamRecordDataIds() {
         return examRecordDataIds;
@@ -93,4 +86,12 @@ public class RedoAuditInfo implements JsonSerializable {
         this.illegallyTypeId = illegallyTypeId;
     }
 
+	public Boolean getFromMarking() {
+		return fromMarking;
+	}
+
+	public void setFromMarking(Boolean fromMarking) {
+		this.fromMarking = fromMarking;
+	}
+
 }

+ 13 - 8
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamAuditServiceImpl.java

@@ -520,7 +520,7 @@ public class ExamAuditServiceImpl implements ExamAuditService {
             examRecordData.setUpdateTime(new Date());
             examRecordDataRepo.save(examRecordData);
 
-            doAuditPostProcesser(redoAuditInfo.getIsPass(), examRecordData);
+            doAuditPostProcesser(redoAuditInfo.getIsPass(), examRecordData,redoAuditInfo.getFromMarking());
         }
     }
 
@@ -698,16 +698,19 @@ public class ExamAuditServiceImpl implements ExamAuditService {
      * @param isPass
      * @param examRecordData
      */
-    private void doAuditPostProcesser(Boolean isPass, ExamRecordDataEntity examRecordData) {
+    private void doAuditPostProcesser(Boolean isPass, ExamRecordDataEntity examRecordData,Boolean fromMarking) {
         if (isPass) {
             auditPassPostProcesser(examRecordData);
         } else {
-            auditUnPassPostProcesser(examRecordData);
+            auditUnPassPostProcesser(examRecordData,fromMarking);
         }
 
         //重新计算考生的最终分数
         examStudentFinalScoreService.calcAndSaveFinalScore(examRecordData.getExamStudentId());
     }
+    private void doAuditPostProcesser(Boolean isPass, ExamRecordDataEntity examRecordData) {
+    	doAuditPostProcesser(isPass, examRecordData, null);
+    }
 
     /**
      * 审核通过后置处理
@@ -761,11 +764,13 @@ public class ExamAuditServiceImpl implements ExamAuditService {
      *
      * @param examRecordData
      */
-    private void auditUnPassPostProcesser(ExamRecordDataEntity examRecordData) {
-        ExamRecordForMarkingEntity examRecordForMarking = examRecordForMarkingRepo.findByExamRecordDataId(examRecordData.getId());
-        if (examRecordForMarking != null) {
-            //删除阅卷需要数据,防止违纪数据进入阅卷
-            examRecordForMarkingRepo.delete(examRecordForMarking);
+    private void auditUnPassPostProcesser(ExamRecordDataEntity examRecordData,Boolean fromMarking) {
+        if(fromMarking==null||!fromMarking) {
+	    	ExamRecordForMarkingEntity examRecordForMarking = examRecordForMarkingRepo.findByExamRecordDataId(examRecordData.getId());
+	        if (examRecordForMarking != null) {
+	            //删除阅卷需要数据,防止违纪数据进入阅卷
+	            examRecordForMarkingRepo.delete(examRecordForMarking);
+	        }
         }
 
         //删除考生的最终分数,后续会重新计算