|
@@ -292,6 +292,24 @@ public class RealExamService {
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
public AjaxResult studentStartRealExam(final Long examId, final String studentBindIp, final String examCollectionType) {
|
|
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有效性
|
|
// Check:检查参数examId有效性
|
|
{
|
|
{
|
|
AjaxResult ar = checkExamId(examId);
|
|
AjaxResult ar = checkExamId(examId);
|
|
@@ -381,12 +399,6 @@ public class RealExamService {
|
|
return ar;
|
|
return ar;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- // 针对练习(自主练习),进行特殊检查。
|
|
|
|
- if (StringUtils.equals(RealExamCollection.Type.SELF_EXERCISE, examCollectionType)) {
|
|
|
|
- // 已经open的考试。
|
|
|
|
-
|
|
|
|
- // 已经open的训练。
|
|
|
|
- }
|
|
|
|
// Step:可换件检查,读取对应一台模拟器 所有故障部位值。
|
|
// Step:可换件检查,读取对应一台模拟器 所有故障部位值。
|
|
// 检查模拟器所有的 真实的 故障部位 是否异常 或者 空值。特殊的故障部位要单独判断。
|
|
// 检查模拟器所有的 真实的 故障部位 是否异常 或者 空值。特殊的故障部位要单独判断。
|
|
if (SimDebugConfig.CHECK_REPLACE_EMPTY) {
|
|
if (SimDebugConfig.CHECK_REPLACE_EMPTY) {
|