瀏覽代碼

间隔分支持两位小数

ting.yin 2 年之前
父節點
當前提交
aacced8a93

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

@@ -1205,9 +1205,9 @@ public class MarkServiceImpl implements MarkService {
         }
         // 取平均分策略下,累计分数需要重新计算一次
         if (policy == ScorePolicy.AVG && count > 1) {
-            score = score / count;
+            score = BigDecimalUtils.div(score, count);
             for (ScoreItem item : detail) {
-                item.setScore(item.getScore() / count);
+                item.setScore(BigDecimalUtils.div(item.getScore(), count));
             }
         }
         group.setMarkScore(score);

+ 5 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/dto/SubjectQuestionDTO.java

@@ -141,6 +141,11 @@ public class SubjectQuestionDTO {
                         error.add("[" + subjectCode + "] 有满分为小数超2位的记录");
                         return false;
                     }
+                    if (!objective
+                            && (question.getIntervalScore() * 100) - (int) (question.getIntervalScore() * 100) > 0) {
+                        error.add("[" + subjectCode + "] 有间隔分为小数超2位的记录");
+                        return false;
+                    }
                     if (objective && StringUtils.isBlank(question.getAnswer())) {
                         error.add("[" + subjectCode + "] 有答案为空的记录");
                         return false;

+ 1 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/admin/dto/SubjectiveQuestionDTO.java

@@ -95,7 +95,7 @@ public class SubjectiveQuestionDTO implements QuestionDTO {
         question.setGroupNumber(groupNumber);
         question.setObjective(false);
         question.setTotalScore(totalScore);
-        question.setIntervalScore(intervalScore != null && intervalScore >= 0.1 ? intervalScore : 1d);
+        question.setIntervalScore(intervalScore != null && intervalScore >= 0.01 ? intervalScore : 1d);
         question.setPicList(picList);
         question.setDoubleRate(doubleRate);
         question.setArbitrateThreshold(arbitrateThreshold);

+ 4 - 3
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupEditSimple.jsp

@@ -114,7 +114,7 @@
         <div class="control-group">
             <label class="control-label">${question.mainNumber}-${question.subNumber}间隔分</label>
             <div class="controls">
-                <input type="text" class="required interval-score-input" htmlEscape="false" maxlength="10"
+                <input type="number" class="required interval-score-input" htmlEscape="false" maxlength="10"
                        value="${question.intervalScore}"/>
             </div>
         </div>
@@ -168,7 +168,8 @@
         var fill = true;
         $('.interval-score-input').each(function () {
             var score = $(this).val();
-            if (score == '' || score<0.1) {
+            var reg= /^-?\d+\.?\d{0,2}$/; 
+            if (score == '' || !reg.test(score)) {
                 fill = false;
             } else {
                 array.push(score);
@@ -178,7 +179,7 @@
             $('#intervalScoreList').val(array.join(','));
             $('#inputForm').submit();
         } else {
-            alert('间隔分不能为空且大于等于0.1分');
+            alert('间隔分不能为空且只支持两位小数');
         }
     });
 </script>

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

@@ -35,8 +35,9 @@
             
             $('#btnSubmit').click(function () {
                     var score = $('#interval-score-input').val();
-                    if (score == '' || score<0.1) {
-                    	alert('间隔分不能为空且大于等于0.1分');
+                    var reg= /^-?\d+\.?\d{0,2}$/; 
+                    if (score == '' || !reg.test(score)) {
+                    	alert('间隔分不能为空且只支持两位小数');
                     	return false;
                     }
                     var total = $('#total-score-input').val();
@@ -102,7 +103,7 @@
 			<div class="control-group">
 	            <label class="control-label">间隔分</label>
 	            <div class="controls">
-	                <input type="number" name="intervalScore" class="required " id="interval-score-input" htmlEscape="false" maxlength="10" class="required digits"
+	                <input type="number" name="intervalScore" class="required " id="interval-score-input" htmlEscape="false" maxlength="10" class="required "
 	                       value="${examQuestion.intervalScore}"/>
 	            </div>
 	        </div>

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

@@ -29,8 +29,9 @@
             }
             $('#btnSubmit').click(function () {
                 var score = $('#interval-score-input').val();
-                if (score == '' || score<0.1) {
-                	alert('间隔分不能为空且大于等于0.1分');
+                var reg= /^-?\d+\.?\d{0,2}$/; 
+                if (score == '' || !reg.test(score)) {
+                	alert('间隔分不能为空且只支持两位小数');
                 	return false;
                 }
                 var total = $('#total-score-input').val();
@@ -98,7 +99,7 @@
 			<div class="control-group">
 	            <label class="control-label">间隔分</label>
 	            <div class="controls">
-	                <input type="number" name="intervalScore" class="required" id="interval-score-input" htmlEscape="false" maxlength="10" class="required digits"
+	                <input type="number" name="intervalScore" class="required" id="interval-score-input" htmlEscape="false" maxlength="10" class="required"
 	                       value="${examQuestion.intervalScore}"/>
 	            </div>
 	        </div>