xiatian 4 年之前
父节点
当前提交
20c73f3b2a

+ 4 - 3
themis-business/src/main/java/com/qmth/themis/business/bean/exam/ExamFinishBean.java

@@ -1,6 +1,7 @@
 package com.qmth.themis.business.bean.exam;
 
 import com.qmth.themis.business.enums.FinishExamResultEnum;
+import com.qmth.themis.business.enums.ReviewResultEnum;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -18,7 +19,7 @@ public class ExamFinishBean {
 	private Double objectiveScore;
 
 	@ApiModelProperty("审核结果")
-	private Integer reviewResult;
+	private ReviewResultEnum reviewResult;
 
 	public Long getFinishTime() {
 		return finishTime;
@@ -44,11 +45,11 @@ public class ExamFinishBean {
 		this.objectiveScore = objectiveScore;
 	}
 
-	public Integer getReviewResult() {
+	public ReviewResultEnum getReviewResult() {
 		return reviewResult;
 	}
 
-	public void setReviewResult(Integer reviewResult) {
+	public void setReviewResult(ReviewResultEnum reviewResult) {
 		this.reviewResult = reviewResult;
 	}
 

+ 17 - 4
themis-business/src/main/java/com/qmth/themis/business/bean/exam/ExamResultBean.java

@@ -1,6 +1,8 @@
 package com.qmth.themis.business.bean.exam;
 
+import com.qmth.themis.business.enums.FinishExamResultEnum;
 import com.qmth.themis.business.enums.FinishTypeEnum;
+import com.qmth.themis.business.enums.ReviewResultEnum;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -11,7 +13,7 @@ public class ExamResultBean {
 	@ApiModelProperty("finishTime")
 	private Long finishTime;
 
-	@ApiModelProperty("交卷后状态")
+	@ApiModelProperty("交卷类型")
 	private FinishTypeEnum finishType;
 
 	@ApiModelProperty("客观分")
@@ -21,7 +23,10 @@ public class ExamResultBean {
 	private Integer durationSeconds;
 
 	@ApiModelProperty("审核结果")
-	private Integer reviewResult;
+	private ReviewResultEnum reviewResult;
+	
+	@ApiModelProperty("交卷后状态")
+	private FinishExamResultEnum status;
 
 	public Long getFinishTime() {
 		return finishTime;
@@ -56,12 +61,20 @@ public class ExamResultBean {
 		this.objectiveScore = objectiveScore;
 	}
 
-	public Integer getReviewResult() {
+	public ReviewResultEnum getReviewResult() {
 		return reviewResult;
 	}
 
-	public void setReviewResult(Integer reviewResult) {
+	public void setReviewResult(ReviewResultEnum reviewResult) {
 		this.reviewResult = reviewResult;
 	}
 
+	public FinishExamResultEnum getStatus() {
+		return status;
+	}
+
+	public void setStatus(FinishExamResultEnum status) {
+		this.status = status;
+	}
+
 }

+ 8 - 4
themis-business/src/main/java/com/qmth/themis/business/enums/ReviewResultEnum.java

@@ -8,10 +8,14 @@ package com.qmth.themis.business.enums;
 * @Date: 2020/7/29
 */
 public enum ReviewResultEnum {
-    //todo 数据模型待补充确认
-    PASS("通过"),
-
-    NO_PASS("不通过");
+	/**
+	 * 通过"
+	 */
+	PASS("通过"),
+    /**
+     * 不通过
+     */
+    UN_PASS("不通过");
 
     private String code;
 

+ 45 - 13
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEExamServiceImpl.java

@@ -19,6 +19,7 @@ import com.qmth.themis.business.enums.ExamRecordStatusEnum;
 import com.qmth.themis.business.enums.FinishExamResultEnum;
 import com.qmth.themis.business.enums.FinishTypeEnum;
 import com.qmth.themis.business.enums.InvigilateVerifyEnum;
+import com.qmth.themis.business.enums.ReviewResultEnum;
 import com.qmth.themis.business.service.*;
 import com.qmth.themis.business.util.OssUtil;
 import com.qmth.themis.business.util.RedisUtil;
@@ -604,19 +605,21 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
         	if(InvigilateVerifyEnum.NOW.equals(exam.getInvigilateVerify())) {//实时审核
         		Integer warningCount=ExamRecordCacheUtil.getWarningCount(recordId);
         		Integer breachStatus=ExamRecordCacheUtil.getBreachStatus(recordId);
-	            if(warningCount!=null&&warningCount.intValue()>0&&breachStatus==null) {//待审核,有预警,无违纪结果
-	            	ret.setStatus(FinishExamResultEnum.AUDITING);
-	            }
-	            if(breachStatus!=null&&breachStatus.intValue()==0) {//分数状态,违纪结果是false
-	            	if (ret.getObjectiveScore() == null) {
-		                ret.setStatus(FinishExamResultEnum.SCORE_CALCULATE);
-		            } else {
-		                ret.setStatus(FinishExamResultEnum.SCORE_VIEW);
+	            if(warningCount!=null&&warningCount.intValue()>0) {//有预警
+	            	if(breachStatus==null) {//无违纪结果
+		            	ret.setStatus(FinishExamResultEnum.AUDITING);
+	            	}else if(breachStatus.intValue()==0) {//违纪结果是false
+	            		ret.setReviewResult(ReviewResultEnum.PASS);
+		            	if (ret.getObjectiveScore() == null) {
+			                ret.setStatus(FinishExamResultEnum.SCORE_CALCULATE);
+			            } else {
+			                ret.setStatus(FinishExamResultEnum.SCORE_VIEW);
+			            }
+		            }else if(breachStatus.intValue()==1) {//违纪结果是true
+		            	ret.setReviewResult(ReviewResultEnum.UN_PASS);
+		            	ret.setStatus(FinishExamResultEnum.BREACH);
 		            }
 	            }
-	            if(breachStatus!=null&&breachStatus.intValue()==1) {//违纪,违纪结果是true
-	            	ret.setStatus(FinishExamResultEnum.BREACH);
-	            }
         	}else {
         		if (ret.getObjectiveScore() == null) {
 	                ret.setStatus(FinishExamResultEnum.SCORE_CALCULATE);
@@ -627,7 +630,6 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
         } else {//非实时出分
             ret.setStatus(FinishExamResultEnum.NORMAL);
         }
-        ret.setReviewResult(ExamRecordCacheUtil.getBreachStatus(recordId));
         ExamRecordCacheUtil.setFinishTime(recordId, now);
         ExamRecordCacheUtil.setDurationSeconds(recordId, durationSeconds);
         ExamRecordCacheUtil.setFinishType(recordId, FinishTypeEnum.valueOf(type));
@@ -679,7 +681,37 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
             ret.setObjectiveScore(ExamRecordCacheUtil.getObjectiveScore(recordId));
         }
 
-        ret.setReviewResult(ExamRecordCacheUtil.getBreachStatus(recordId));
+      //页面结果
+        ExamCacheBean exam = getExamCacheBean(er.getExamId());
+        if (exam.getShowObjectiveScore() != null && exam.getShowObjectiveScore().intValue() == 1) {//实时出分
+        	if(InvigilateVerifyEnum.NOW.equals(exam.getInvigilateVerify())) {//实时审核
+        		Integer warningCount=ExamRecordCacheUtil.getWarningCount(recordId);
+        		Integer breachStatus=ExamRecordCacheUtil.getBreachStatus(recordId);
+	            if(warningCount!=null&&warningCount.intValue()>0) {//有预警
+	            	if(breachStatus==null) {//无违纪结果
+		            	ret.setStatus(FinishExamResultEnum.AUDITING);
+	            	}else if(breachStatus.intValue()==0) {//违纪结果是false
+	            		ret.setReviewResult(ReviewResultEnum.PASS);
+		            	if (ret.getObjectiveScore() == null) {
+			                ret.setStatus(FinishExamResultEnum.SCORE_CALCULATE);
+			            } else {
+			                ret.setStatus(FinishExamResultEnum.SCORE_VIEW);
+			            }
+		            }else if(breachStatus.intValue()==1) {//违纪结果是true
+		            	ret.setReviewResult(ReviewResultEnum.UN_PASS);
+		            	ret.setStatus(FinishExamResultEnum.BREACH);
+		            }
+	            }
+        	}else {
+        		if (ret.getObjectiveScore() == null) {
+	                ret.setStatus(FinishExamResultEnum.SCORE_CALCULATE);
+	            } else {
+	                ret.setStatus(FinishExamResultEnum.SCORE_VIEW);
+	            }
+            }
+        } else {//非实时出分
+            ret.setStatus(FinishExamResultEnum.NORMAL);
+        }
         return ret;
     }