ting.yin 2 years ago
parent
commit
b6a0060ddf

+ 20 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/InspectHistoryDao.java

@@ -0,0 +1,20 @@
+package cn.com.qmth.stmms.biz.exam.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.PagingAndSortingRepository;
+
+import cn.com.qmth.stmms.biz.exam.model.InspectHistory;
+
+public interface InspectHistoryDao extends PagingAndSortingRepository<InspectHistory, Integer>,
+        JpaSpecificationExecutor<InspectHistory> {
+
+    @Query("select s from InspectHistory s where s.studentId=?1 order by s.inspectTime desc limit 3")
+    List<InspectHistory> findByStudentIdLimit3(int studentId);
+
+    @Query("select s from InspectHistory s where s.studentId=?1 and s.inspectorId=?2 order by s.inspectTime desc limit 1")
+    InspectHistory findByStudentIdAndInspectorId(Integer studentId, Integer inspectorId);
+
+}

+ 11 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/model/ExamStudent.java

@@ -338,6 +338,9 @@ public class ExamStudent implements Serializable {
     @Transient
     private String problemRestTime;
 
+    @Transient
+    private List<InspectHistory> inspectHistoryList;
+
     public Integer getId() {
         return id;
     }
@@ -887,4 +890,12 @@ public class ExamStudent implements Serializable {
         this.cardNumber = cardNumber;
     }
 
+    public List<InspectHistory> getInspectHistoryList() {
+        return inspectHistoryList;
+    }
+
+    public void setInspectHistoryList(List<InspectHistory> inspectHistoryList) {
+        this.inspectHistoryList = inspectHistoryList;
+    }
+
 }

+ 115 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/model/InspectHistory.java

@@ -0,0 +1,115 @@
+package cn.com.qmth.stmms.biz.exam.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+
+/**
+ * 复核记录表
+ */
+@Entity
+@Table(name = "eb_inspect_history")
+public class InspectHistory implements Serializable {
+
+    private static final long serialVersionUID = 8663161504344806413L;
+
+    @Id
+    @GeneratedValue
+    private Integer id;
+
+    /**
+     * 考试ID
+     */
+    @Column(name = "exam_id")
+    private Integer examId;
+
+    /**
+     * 科目CODE
+     */
+    @Column(name = "subject_code")
+    private String subjectCode;
+
+    /**
+     * 考生
+     */
+    @Column(name = "student_id")
+    private Integer studentId;
+
+    @Temporal(TemporalType.TIMESTAMP)
+    @Column(name = "inspect_time", nullable = false)
+    private Date inspectTime;
+
+    /**
+     * 复核人id
+     */
+    @Column(name = "inspector_id")
+    private Integer inspectorId;
+
+    @Transient
+    private String inspectorName;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Integer examId) {
+        this.examId = examId;
+    }
+
+    public String getSubjectCode() {
+        return subjectCode;
+    }
+
+    public void setSubjectCode(String subjectCode) {
+        this.subjectCode = subjectCode;
+    }
+
+    public Integer getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
+    }
+
+    public Date getInspectTime() {
+        return inspectTime;
+    }
+
+    public void setInspectTime(Date inspectTime) {
+        this.inspectTime = inspectTime;
+    }
+
+    public Integer getInspectorId() {
+        return inspectorId;
+    }
+
+    public void setInspectorId(Integer inspectorId) {
+        this.inspectorId = inspectorId;
+    }
+
+    public String getInspectorName() {
+        return inspectorName;
+    }
+
+    public void setInspectorName(String inspectorName) {
+        this.inspectorName = inspectorName;
+    }
+
+}

+ 17 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/InspectHistoryService.java

@@ -0,0 +1,17 @@
+package cn.com.qmth.stmms.biz.exam.service;
+
+import java.util.List;
+
+import cn.com.qmth.stmms.biz.exam.model.InspectHistory;
+
+public interface InspectHistoryService {
+
+    InspectHistory save(InspectHistory i);
+
+    List<InspectHistory> findByStudentIdLimit3(Integer studentId);
+
+    InspectHistory findByStudentIdAndInspectorId(Integer studentId, Integer inspectorId);
+
+    void delete(InspectHistory inspectHistory);
+
+}

+ 13 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/InspectedService.java

@@ -29,4 +29,17 @@ public interface InspectedService {
      */
     boolean hasApplied(ExamStudent student, Integer userId);
 
+    /**
+     * 复核
+     */
+    boolean inspect(Integer studentId, Integer userId);
+
+    /**
+     * 取消复核
+     * 
+     * @param studentId
+     * @return
+     */
+    boolean cancel(Integer studentId);
+
 }

+ 51 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/InspectHistoryServiceImpl.java

@@ -0,0 +1,51 @@
+package cn.com.qmth.stmms.biz.exam.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import cn.com.qmth.stmms.biz.common.BaseQueryService;
+import cn.com.qmth.stmms.biz.exam.dao.InspectHistoryDao;
+import cn.com.qmth.stmms.biz.exam.model.InspectHistory;
+import cn.com.qmth.stmms.biz.exam.service.InspectHistoryService;
+import cn.com.qmth.stmms.biz.user.dao.UserDao;
+import cn.com.qmth.stmms.biz.user.model.User;
+
+@Service("inspectHistoryService")
+public class InspectHistoryServiceImpl extends BaseQueryService<InspectHistory> implements InspectHistoryService {
+
+    @Autowired
+    private InspectHistoryDao inspectHistoryDao;
+
+    @Autowired
+    private UserDao userDao;
+
+    @Override
+    public InspectHistory save(InspectHistory i) {
+        return inspectHistoryDao.save(i);
+    }
+
+    @Override
+    public List<InspectHistory> findByStudentIdLimit3(Integer studentId) {
+        List<InspectHistory> list = inspectHistoryDao.findByStudentIdLimit3(studentId);
+        for (InspectHistory inspectHistory : list) {
+            User user = userDao.findOne(inspectHistory.getInspectorId());
+            inspectHistory.setInspectorName(user.getLoginName() + "/" + user.getName());
+        }
+        return list;
+    }
+
+    @Override
+    public InspectHistory findByStudentIdAndInspectorId(Integer studentId, Integer inspectorId) {
+        return inspectHistoryDao.findByStudentIdAndInspectorId(studentId, inspectorId);
+    }
+
+    @Transactional
+    @Override
+    public void delete(InspectHistory inspectHistory) {
+        inspectHistoryDao.delete(inspectHistory);
+    }
+
+}

+ 40 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/InspectedServiceImpl.java

@@ -1,6 +1,7 @@
 package cn.com.qmth.stmms.biz.exam.service.impl;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import javax.persistence.EntityManager;
@@ -13,10 +14,12 @@ import org.springframework.stereotype.Service;
 
 import cn.com.qmth.stmms.biz.common.BaseQueryService;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
+import cn.com.qmth.stmms.biz.exam.model.InspectHistory;
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
 import cn.com.qmth.stmms.biz.exam.model.SelectiveGroup;
 import cn.com.qmth.stmms.biz.exam.query.ExamStudentSearchQuery;
 import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
+import cn.com.qmth.stmms.biz.exam.service.InspectHistoryService;
 import cn.com.qmth.stmms.biz.exam.service.InspectedService;
 import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
 import cn.com.qmth.stmms.biz.exam.service.SelectiveGroupService;
@@ -44,6 +47,9 @@ public class InspectedServiceImpl extends BaseQueryService<ExamStudent> implemen
     @Autowired
     private SelectiveGroupService selectiveGroupService;
 
+    @Autowired
+    private InspectHistoryService inspectHistoryService;
+
     @SuppressWarnings("unchecked")
     @Override
     public List<ExamStudent> findByQuery(ExamStudentSearchQuery query, SubjectiveStatus status, Integer mainNumber,
@@ -225,4 +231,38 @@ public class InspectedServiceImpl extends BaseQueryService<ExamStudent> implemen
     private String getKey(ExamStudent student) {
         return student.getExamId() + "_" + student.getSubjectCode();
     }
+
+    @Override
+    public boolean inspect(Integer studentId, Integer userId) {
+        ExamStudent student = studentService.findById(studentId);
+        if (this.hasApplied(student, userId) && SubjectiveStatus.MARKED.equals(student.getSubjectiveStatus())) {
+            Date now = new Date();
+            studentService.updateSubjectiveStatusAndTimeAndInspectorId(studentId, SubjectiveStatus.INSPECTED, now,
+                    userId);
+            InspectHistory i = new InspectHistory();
+            i.setExamId(student.getExamId());
+            i.setStudentId(studentId);
+            i.setSubjectCode(student.getSubjectCode());
+            i.setInspectorId(userId);
+            i.setInspectTime(now);
+            inspectHistoryService.save(i);
+            this.releaseByStudent(student);
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public boolean cancel(Integer studentId) {
+        ExamStudent student = studentService.findById(studentId);
+        if (student.getSubjectiveStatus().equals(SubjectiveStatus.INSPECTED)) {
+            InspectHistory inspectHistory = inspectHistoryService.findByStudentIdAndInspectorId(studentId,
+                    student.getInspectorId());
+            inspectHistoryService.delete(inspectHistory);
+            studentService.updateSubjectiveStatusAndTimeAndInspectorId(student.getId(), SubjectiveStatus.MARKED, null,
+                    null);
+            return true;
+        }
+        return false;
+    }
 }

+ 53 - 16
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkServiceImpl.java

@@ -1,32 +1,69 @@
 package cn.com.qmth.stmms.biz.mark.service.Impl;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import cn.com.qmth.stmms.biz.exam.dao.MarkGroupDao;
 import cn.com.qmth.stmms.biz.exam.dao.MarkGroupStudentDao;
 import cn.com.qmth.stmms.biz.exam.dao.MarkerDao;
 import cn.com.qmth.stmms.biz.exam.dao.SubjectiveScoreDao;
-import cn.com.qmth.stmms.biz.exam.model.*;
-import cn.com.qmth.stmms.biz.exam.service.*;
-import cn.com.qmth.stmms.biz.mark.dao.*;
-import cn.com.qmth.stmms.biz.mark.model.*;
+import cn.com.qmth.stmms.biz.exam.model.ExamQuestion;
+import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
+import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
+import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
+import cn.com.qmth.stmms.biz.exam.model.MarkGroupStudent;
+import cn.com.qmth.stmms.biz.exam.model.Marker;
+import cn.com.qmth.stmms.biz.exam.model.SelectiveGroup;
+import cn.com.qmth.stmms.biz.exam.model.SubjectiveScore;
+import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
+import cn.com.qmth.stmms.biz.exam.service.ExamService;
+import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
+import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
+import cn.com.qmth.stmms.biz.exam.service.MarkerService;
+import cn.com.qmth.stmms.biz.exam.service.SelectiveGroupService;
+import cn.com.qmth.stmms.biz.mark.dao.ArbitrateHistoryDao;
+import cn.com.qmth.stmms.biz.mark.dao.MarkLibraryDao;
+import cn.com.qmth.stmms.biz.mark.dao.MarkSpecialTagDao;
+import cn.com.qmth.stmms.biz.mark.dao.MarkTrackDao;
+import cn.com.qmth.stmms.biz.mark.dao.ProblemHistoryDao;
+import cn.com.qmth.stmms.biz.mark.dao.TrialLibraryDao;
+import cn.com.qmth.stmms.biz.mark.dao.TrialTagDao;
+import cn.com.qmth.stmms.biz.mark.dao.TrialTrackDao;
+import cn.com.qmth.stmms.biz.mark.model.ArbitrateHistory;
+import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
+import cn.com.qmth.stmms.biz.mark.model.MarkResult;
+import cn.com.qmth.stmms.biz.mark.model.MarkStepDTO;
+import cn.com.qmth.stmms.biz.mark.model.MarkTrack;
+import cn.com.qmth.stmms.biz.mark.model.ProblemHistory;
+import cn.com.qmth.stmms.biz.mark.model.SubmitResult;
+import cn.com.qmth.stmms.biz.mark.model.TrialLibrary;
 import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
 import cn.com.qmth.stmms.biz.mark.service.MarkService;
 import cn.com.qmth.stmms.biz.utils.ScoreItem;
 import cn.com.qmth.stmms.biz.utils.TaskLock;
 import cn.com.qmth.stmms.biz.utils.TaskLockUtil;
-import cn.com.qmth.stmms.common.enums.*;
+import cn.com.qmth.stmms.common.enums.HistoryStatus;
+import cn.com.qmth.stmms.common.enums.LibraryStatus;
+import cn.com.qmth.stmms.common.enums.MarkStatus;
+import cn.com.qmth.stmms.common.enums.ObjectiveStatus;
+import cn.com.qmth.stmms.common.enums.ScorePolicy;
+import cn.com.qmth.stmms.common.enums.SubjectiveStatus;
+import cn.com.qmth.stmms.common.enums.ThirdPolicy;
 import cn.com.qmth.stmms.common.utils.BigDecimalUtils;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Sort;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
-
 /**
  * 与评卷相关的所有修改操作(非传播性的新增操作除外),全部汇总到这里进行集中控制
  *

+ 3 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/user/model/User.java

@@ -121,6 +121,9 @@ public class User implements Serializable {
     @Column(name = "scan_token_invalid_time", nullable = true)
     private Date scanTokenInvalidTime;
 
+    @Column(name = "description", length = 128, nullable = true)
+    private String description;
+
     @ExcelField(title = "角色", align = 2, sort = 30)
     @Transient
     private String roleName;

+ 26 - 39
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/InspectedController.java

@@ -2,7 +2,6 @@ package cn.com.qmth.stmms.admin.exam;
 
 import java.text.DecimalFormat;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
@@ -35,6 +34,7 @@ import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
 import cn.com.qmth.stmms.biz.exam.service.ExamService;
 import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
 import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
+import cn.com.qmth.stmms.biz.exam.service.InspectHistoryService;
 import cn.com.qmth.stmms.biz.exam.service.InspectedService;
 import cn.com.qmth.stmms.biz.exam.service.query.ExamSubjectSearchQuery;
 import cn.com.qmth.stmms.biz.file.service.FileService;
@@ -86,6 +86,9 @@ public class InspectedController extends BaseExamController {
     @Autowired
     private ExamSubjectService subjectService;
 
+    @Autowired
+    private InspectHistoryService inspectHistoryService;
+
     @Value("${slice.split.config}")
     private String splitConfig;
 
@@ -112,6 +115,7 @@ public class InspectedController extends BaseExamController {
                 questionScore, selectiveStatus);
         for (ExamStudent e : list) {
             e.setSubjectiveScoreList(e.getSubjectiveScoreList().replace(UN_SELECTIVE_SCORE, "/"));
+            e.setInspectHistoryList(inspectHistoryService.findByStudentIdLimit3(e.getId()));
         }
         Integer totalCount = inspectedService.countByQuery(query, null, mainNumber, mainStartScore, mainEndScore,
                 questionScore, selectiveStatus);
@@ -199,15 +203,9 @@ public class InspectedController extends BaseExamController {
     @ResponseBody
     public Object save(HttpServletRequest request, @RequestParam Integer studentId) {
         WebUser wu = RequestUtils.getWebUser(request);
-        ExamStudent student = studentService.findById(studentId);
         JSONObject obj = new JSONObject();
         try {
-            if (lockService.trylock(LockType.STUDENT, student.getId())
-                    && inspectedService.hasApplied(student, wu.getId())
-                    && SubjectiveStatus.MARKED.equals(student.getSubjectiveStatus())) {
-                studentService.updateSubjectiveStatusAndTimeAndInspectorId(studentId, SubjectiveStatus.INSPECTED,
-                        new Date(), wu.getUser().getId());
-                inspectedService.releaseByStudent(student);
+            if (lockService.trylock(LockType.STUDENT, studentId) && inspectedService.inspect(studentId, wu.getId())) {
                 obj.accumulate("success", true);
             } else {
                 obj.accumulate("success", false);
@@ -217,7 +215,7 @@ public class InspectedController extends BaseExamController {
             obj.accumulate("success", false);
             log.error("inspected save error", e);
         } finally {
-            lockService.unlock(LockType.STUDENT, student.getId());
+            lockService.unlock(LockType.STUDENT, studentId);
         }
         return obj;
     }
@@ -249,31 +247,24 @@ public class InspectedController extends BaseExamController {
         JSONObject obj = new JSONObject();
         ExamStudent student = studentService.findById(studentId);
         WebUser wu = RequestUtils.getWebUser(request);
-        if (student != null && student.getSubjectiveStatus().equals(SubjectiveStatus.INSPECTED)) {
-            if (subjectCheck(student.getSubjectCode(), wu)) {
-                try {
-                    if (lockService.trylock(LockType.STUDENT, student.getId())) {
-                        studentService.updateSubjectiveStatusAndTimeAndInspectorId(student.getId(),
-                                SubjectiveStatus.MARKED, null, null);
-                        obj.accumulate("success", true);
-                    } else {
-                        obj.accumulate("success", false);
-                        obj.accumulate("message", "无法取消复核");
-                    }
-                } catch (Exception e) {
+        if (student != null && subjectCheck(student.getSubjectCode(), wu)) {
+            try {
+                if (lockService.trylock(LockType.STUDENT, studentId) && inspectedService.cancel(studentId)) {
+                    obj.accumulate("success", true);
+                } else {
                     obj.accumulate("success", false);
-                    obj.accumulate("message", "取消复核失败");
-                    log.error("back inspected error", e);
-                } finally {
-                    lockService.unlock(LockType.STUDENT, student.getId());
+                    obj.accumulate("message", "无法取消复核");
                 }
-            } else {
+            } catch (Exception e) {
                 obj.accumulate("success", false);
-                obj.accumulate("message", "没有操作该评卷任务的权限");
+                obj.accumulate("message", "取消复核失败");
+                log.error("back inspected error", e);
+            } finally {
+                lockService.unlock(LockType.STUDENT, studentId);
             }
         } else {
             obj.accumulate("success", false);
-            obj.accumulate("message", "无法取消复核");
+            obj.accumulate("message", "没有操作该评卷任务的权限");
         }
         return obj;
     }
@@ -425,18 +416,14 @@ public class InspectedController extends BaseExamController {
         WebUser wu = RequestUtils.getWebUser(request);
         for (Integer id : ids) {
             ExamStudent student = studentService.findById(id);
-            if (student != null && student.getSubjectiveStatus().equals(SubjectiveStatus.INSPECTED)) {
-                if (subjectCheck(student.getSubjectCode(), wu)) {
-                    try {
-                        if (lockService.trylock(LockType.STUDENT, student.getId())) {
-                            studentService.updateSubjectiveStatusAndTimeAndInspectorId(student.getId(),
-                                    SubjectiveStatus.MARKED, null, null);
-                        }
-                    } catch (Exception e) {
-                        log.error("back inspected error", e);
-                    } finally {
-                        lockService.unlock(LockType.STUDENT, student.getId());
+            if (student != null && subjectCheck(student.getSubjectCode(), wu)) {
+                try {
+                    if (lockService.trylock(LockType.STUDENT, student.getId()) && inspectedService.cancel(id)) {
                     }
+                } catch (Exception e) {
+                    log.error("back inspected error", e);
+                } finally {
+                    lockService.unlock(LockType.STUDENT, student.getId());
                 }
             }
         }

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/include/head.jsp

@@ -36,4 +36,4 @@
 <script src="${ctxStatic}/utils/image-utils.js" type="text/javascript"></script>
 <script src="${ctxStatic}/i18n/jquery.i18n.properties.js" type="text/javascript"></script>
 <script src="${ctxStatic}/i18n/load.js" type="text/javascript"></script>
-<link rel="shortcut icon" href="${ctxStatic}/favicon.png">
+<%-- <link rel="shortcut icon" href="${ctxStatic}/favicon.png"> --%>

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/questionAdd.jsp

@@ -82,7 +82,7 @@
 			<div class="control-group">
 	            <label class="control-label">间隔分</label>
 	            <div class="controls">
-	                <input type="text" name="intervalScore" class="required interval-score-input" htmlEscape="false" maxlength="10" class="required digits"
+	                <input type="number" name="intervalScore" class="required interval-score-input" htmlEscape="false" maxlength="10" class="required digits"
 	                       value="${examQuestion.intervalScore}"/>
 	            </div>
 	        </div>

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/questionEdit.jsp

@@ -79,7 +79,7 @@
 			<div class="control-group">
 	            <label class="control-label">间隔分</label>
 	            <div class="controls">
-	                <input type="text" name="intervalScore" class="required interval-score-input" htmlEscape="false" maxlength="10" class="required digits"
+	                <input type="number" name="intervalScore" class="required interval-score-input" htmlEscape="false" maxlength="10" class="required digits"
 	                       value="${examQuestion.intervalScore}"/>
 	            </div>
 	        </div>