Selaa lähdekoodia

开始考试。进行类型并发检查。

tom 2 kuukautta sitten
vanhempi
commit
c89578b457

+ 18 - 6
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/RealExamService.java

@@ -292,6 +292,24 @@ public class RealExamService {
      * @return
      */
     public AjaxResult studentStartRealExam(final Long examId, final String studentBindIp, final String examCollectionType) {
+        // Check:针对训练,进行特殊检查。
+        if (StringUtils.equals(RealExamCollection.Type.EXERCISE, examCollectionType)) {
+            // 已经open的考试。
+            if (realExamCollectionService.existOpenedByType(RealExamCollection.Type.EXAM)) {
+                return AjaxResult.error("存在打开的考试,无法开启训练!<br/>请向教员说明情况。");
+            }
+        }
+        // Check:针对练习(自主练习),进行特殊检查。
+        if (StringUtils.equals(RealExamCollection.Type.SELF_EXERCISE, examCollectionType)) {
+            // 已经open的考试。
+            if (realExamCollectionService.existOpenedByType(RealExamCollection.Type.EXAM)) {
+                return AjaxResult.error("存在打开的考试,无法开启练习!<br/>请向教员说明情况。");
+            }
+            // 已经open的训练。
+            if (realExamCollectionService.existOpenedByType(RealExamCollection.Type.EXERCISE)) {
+                return AjaxResult.error("存在打开的训练,无法开启练习!<br/>请向教员说明情况。");
+            }
+        }
         // Check:检查参数examId有效性
         {
             AjaxResult ar = checkExamId(examId);
@@ -381,12 +399,6 @@ public class RealExamService {
                 return ar;
             }
         }
-        // 针对练习(自主练习),进行特殊检查。
-        if (StringUtils.equals(RealExamCollection.Type.SELF_EXERCISE, examCollectionType)) {
-            // 已经open的考试。
-
-            // 已经open的训练。
-        }
         // Step:可换件检查,读取对应一台模拟器 所有故障部位值。
         //      检查模拟器所有的 真实的 故障部位 是否异常 或者 空值。特殊的故障部位要单独判断。
         if (SimDebugConfig.CHECK_REPLACE_EMPTY) {