yin 1 éve
szülő
commit
a973061943

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

@@ -974,12 +974,19 @@ public class MarkServiceImpl implements MarkService {
             List<ExamQuestion> questionList = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
             List<ExamQuestion> questionList = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
                     history.getExamId(), history.getSubjectCode(), false, history.getGroupNumber());
                     history.getExamId(), history.getSubjectCode(), false, history.getGroupNumber());
             List<Object> scoreList = new ArrayList<>();
             List<Object> scoreList = new ArrayList<>();
-            for (int i = 0; i < questionList.size(); i++) {
-                if (questionIndexList.contains(i + 1)) {
-                    scoreList.add(markerScoreList.get(0));
-                    markerScoreList.remove(0);
-                } else {
-                    scoreList.add("#");
+            if (questionIndexList.isEmpty()) {
+                // 全部仲裁
+                for (Double score : markerScoreList) {
+                    scoreList.add(score);
+                }
+            } else {
+                for (int i = 0; i < questionList.size(); i++) {
+                    if (questionIndexList.contains(i + 1)) {
+                        scoreList.add(markerScoreList.get(0));
+                        markerScoreList.remove(0);
+                    } else {
+                        scoreList.add("#");
+                    }
                 }
                 }
             }
             }
             arbitrateDao.saveAndFlush(history);
             arbitrateDao.saveAndFlush(history);

+ 39 - 43
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/user/service/impl/UserServiceImpl.java

@@ -1,10 +1,6 @@
 package cn.com.qmth.stmms.biz.user.service.impl;
 package cn.com.qmth.stmms.biz.user.service.impl;
 
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 
 import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.CriteriaQuery;
@@ -19,16 +15,8 @@ import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
-import cn.com.qmth.stmms.biz.exam.model.Exam;
-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.Marker;
-import cn.com.qmth.stmms.biz.exam.model.SubjectUser;
-import cn.com.qmth.stmms.biz.exam.service.ExamService;
-import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
-import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
-import cn.com.qmth.stmms.biz.exam.service.MarkerService;
-import cn.com.qmth.stmms.biz.exam.service.SubjectUserService;
+import cn.com.qmth.stmms.biz.exam.model.*;
+import cn.com.qmth.stmms.biz.exam.service.*;
 import cn.com.qmth.stmms.biz.user.dao.UserDao;
 import cn.com.qmth.stmms.biz.user.dao.UserDao;
 import cn.com.qmth.stmms.biz.user.model.User;
 import cn.com.qmth.stmms.biz.user.model.User;
 import cn.com.qmth.stmms.biz.user.service.UserService;
 import cn.com.qmth.stmms.biz.user.service.UserService;
@@ -161,8 +149,8 @@ public class UserServiceImpl implements UserService {
                         predicates.add(cb.equal(root.get("role"), role));
                         predicates.add(cb.equal(root.get("role"), role));
                     }
                     }
                 }
                 }
-                return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates.toArray(new Predicate[predicates
-                        .size()]));
+                return predicates.isEmpty() ? cb.conjunction()
+                        : cb.and(predicates.toArray(new Predicate[predicates.size()]));
             }
             }
         }, query);
         }, query);
         if (result != null) {
         if (result != null) {
@@ -232,32 +220,35 @@ public class UserServiceImpl implements UserService {
 
 
     @Transactional
     @Transactional
     @Override
     @Override
-    public int batchSaveMarker(int examId, Set<String> subjectCodes, Integer number, String password, boolean random,String prefix) {
+    public int batchSaveMarker(int examId, Set<String> subjectCodes, Integer number, String password, boolean random,
+            String prefix) {
         int successNum = 0;
         int successNum = 0;
         if (subjectCodes.size() == 0) {
         if (subjectCodes.size() == 0) {
             List<ExamSubject> subjects = subjectService.list(examId);
             List<ExamSubject> subjects = subjectService.list(examId);
             for (ExamSubject subject : subjects) {
             for (ExamSubject subject : subjects) {
-                successNum = successNum + saveMarkerBySubject(examId, number, password, subject.getCode(), random,prefix);
+                successNum = successNum
+                        + saveMarkerBySubject(examId, number, password, subject.getCode(), random, prefix);
             }
             }
         } else {
         } else {
             for (String subjectCode : subjectCodes) {
             for (String subjectCode : subjectCodes) {
-                successNum = successNum + saveMarkerBySubject(examId, number, password, subjectCode, random,prefix);
+                successNum = successNum + saveMarkerBySubject(examId, number, password, subjectCode, random, prefix);
             }
             }
         }
         }
         return successNum;
         return successNum;
     }
     }
 
 
-    private int saveMarkerBySubject(int examId, Integer number, String password, String subjectCode, boolean random,String cusPrefix) {
+    private int saveMarkerBySubject(int examId, Integer number, String password, String subjectCode, boolean random,
+            String cusPrefix) {
         Exam exam = examService.findById(examId);
         Exam exam = examService.findById(examId);
         List<MarkGroup> groups = groupService.findByExamAndSubject(examId, subjectCode);
         List<MarkGroup> groups = groupService.findByExamAndSubject(examId, subjectCode);
         int successNum = 0;
         int successNum = 0;
         for (MarkGroup group : groups) {
         for (MarkGroup group : groups) {
             List<Marker> saveList = new ArrayList<Marker>();
             List<Marker> saveList = new ArrayList<Marker>();
             String prefix;
             String prefix;
-            if(StringUtils.isNotBlank(cusPrefix)) {
-            	prefix = cusPrefix + "-" + subjectCode + "-" + group.getNumber() + "-";
-            }else {
-            	prefix = exam.getSchoolId() + "-" + subjectCode + "-" + group.getNumber() + "-";
+            if (StringUtils.isNotBlank(cusPrefix)) {
+                prefix = cusPrefix + "-" + subjectCode + "-" + group.getNumber() + "-";
+            } else {
+                prefix = exam.getSchoolId() + "-" + subjectCode + "-" + group.getNumber() + "-";
             }
             }
             int maxNumber = this.findMaxNumberByLoginNameStart(prefix);
             int maxNumber = this.findMaxNumberByLoginNameStart(prefix);
             int createNumber = 1;
             int createNumber = 1;
@@ -281,8 +272,10 @@ public class UserServiceImpl implements UserService {
                     } else {
                     } else {
                         if (StringUtils.isNotBlank(password)) {
                         if (StringUtils.isNotBlank(password)) {
                             user.setPassword(EncryptUtils.md5(password));
                             user.setPassword(EncryptUtils.md5(password));
+                            user.setRandomPassword(password);
                         } else {
                         } else {
                             user.setPassword(EncryptUtils.md5(USER_PASSWORD));
                             user.setPassword(EncryptUtils.md5(USER_PASSWORD));
+                            user.setRandomPassword(USER_PASSWORD);
                         }
                         }
                     }
                     }
                     userDao.save(user);
                     userDao.save(user);
@@ -305,42 +298,43 @@ public class UserServiceImpl implements UserService {
     @Transactional
     @Transactional
     @Override
     @Override
     public int batchSaveSubjectUser(int examId, Role role, Set<String> subjectCodes, Integer number, String password,
     public int batchSaveSubjectUser(int examId, Role role, Set<String> subjectCodes, Integer number, String password,
-            boolean random,String cusPrefix) {
+            boolean random, String cusPrefix) {
         int successNum = 0;
         int successNum = 0;
         if (subjectCodes.size() == 0) {
         if (subjectCodes.size() == 0) {
             List<ExamSubject> subjects = subjectService.list(examId);
             List<ExamSubject> subjects = subjectService.list(examId);
             for (ExamSubject subject : subjects) {
             for (ExamSubject subject : subjects) {
-                successNum = successNum
-                        + saveSubjectUserBySubject(examId, number, role, subject.getCode(), password, random,cusPrefix);
+                successNum = successNum + saveSubjectUserBySubject(examId, number, role, subject.getCode(), password,
+                        random, cusPrefix);
             }
             }
         } else {
         } else {
             for (String subjectCode : subjectCodes) {
             for (String subjectCode : subjectCodes) {
-                successNum = successNum + saveSubjectUserBySubject(examId, number, role, subjectCode, password, random,cusPrefix);
+                successNum = successNum
+                        + saveSubjectUserBySubject(examId, number, role, subjectCode, password, random, cusPrefix);
             }
             }
         }
         }
         return successNum;
         return successNum;
     }
     }
 
 
     private int saveSubjectUserBySubject(int examId, Integer number, Role role, String subjectCode, String password,
     private int saveSubjectUserBySubject(int examId, Integer number, Role role, String subjectCode, String password,
-            boolean random,String cusPrefix) {
+            boolean random, String cusPrefix) {
         Exam exam = examService.findById(examId);
         Exam exam = examService.findById(examId);
         List<SubjectUser> saveList = new ArrayList<SubjectUser>();
         List<SubjectUser> saveList = new ArrayList<SubjectUser>();
         int successNum = 0;
         int successNum = 0;
         int createNumber = 1;
         int createNumber = 1;
-        String prefix ;
+        String prefix;
         if (role.equals(Role.INSPECTOR)) {
         if (role.equals(Role.INSPECTOR)) {
-        	if(StringUtils.isNotBlank(cusPrefix)) {
-        		prefix = cusPrefix + "-FH-" + subjectCode + "-";
-        	}else {
-        		prefix = exam.getSchoolId() + "-FH-" + subjectCode + "-";
-        	}
-            
-        }else {
-        	if(StringUtils.isNotBlank(cusPrefix)) {
-        		prefix = cusPrefix + "-" + subjectCode + "-";
-        	}else {
-        		prefix = exam.getSchoolId() + "-" + subjectCode + "-";
-        	}
+            if (StringUtils.isNotBlank(cusPrefix)) {
+                prefix = cusPrefix + "-FH-" + subjectCode + "-";
+            } else {
+                prefix = exam.getSchoolId() + "-FH-" + subjectCode + "-";
+            }
+
+        } else {
+            if (StringUtils.isNotBlank(cusPrefix)) {
+                prefix = cusPrefix + "-" + subjectCode + "-";
+            } else {
+                prefix = exam.getSchoolId() + "-" + subjectCode + "-";
+            }
         }
         }
         int maxNumber = this.findMaxNumberByLoginNameStart(prefix);
         int maxNumber = this.findMaxNumberByLoginNameStart(prefix);
         while (saveList.size() < number) {
         while (saveList.size() < number) {
@@ -358,8 +352,10 @@ public class UserServiceImpl implements UserService {
                 } else {
                 } else {
                     if (StringUtils.isNotBlank(password)) {
                     if (StringUtils.isNotBlank(password)) {
                         user.setPassword(EncryptUtils.md5(password));
                         user.setPassword(EncryptUtils.md5(password));
+                        user.setRandomPassword(password);
                     } else {
                     } else {
                         user.setPassword(EncryptUtils.md5(USER_PASSWORD));
                         user.setPassword(EncryptUtils.md5(USER_PASSWORD));
+                        user.setRandomPassword(USER_PASSWORD);
                     }
                     }
                 }
                 }
                 user.setRole(role);
                 user.setRole(role);

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

@@ -296,7 +296,7 @@
             if (!$(this).is(":hidden")) {
             if (!$(this).is(":hidden")) {
                 var score = $(this).val();
                 var score = $(this).val();
                 var reg = /^-?\d+\.?\d{0,2}$/;
                 var reg = /^-?\d+\.?\d{0,2}$/;
-                if (score == '' || !reg.test(score) || score <= 0) {
+                if (score == '' || !reg.test(score) || score < 0) {
                     fill = false;
                     fill = false;
                 } else {
                 } else {
                     arbitrateThresholdArray.push(score);
                     arbitrateThresholdArray.push(score);

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

@@ -495,7 +495,7 @@
                 if (!$(this).is(":hidden")) {
                 if (!$(this).is(":hidden")) {
                     var score = $(this).val();
                     var score = $(this).val();
                     var reg = /^-?\d+\.?\d{0,2}$/;
                     var reg = /^-?\d+\.?\d{0,2}$/;
-                    if (score == '' || !reg.test(score) || score <= 0) {
+                    if (score == '' || !reg.test(score) || score < 0) {
                         fill = false;
                         fill = false;
                     } else {
                     } else {
                         arbitrateThresholdArray.push(score);
                         arbitrateThresholdArray.push(score);

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

@@ -139,7 +139,7 @@
                 <div class="controls">
                 <div class="controls">
                     <form:input path="arbitrateThreshold" htmlEscape="false" maxlength="100" class="required"
                     <form:input path="arbitrateThreshold" htmlEscape="false" maxlength="100" class="required"
                                 type="number"
                                 type="number"
-                                id="arbitrateThreshold"/>*阈值为分数
+                                id="arbitrateThreshold"/>*阈值为分数且大于等于0,大于阈值触发仲裁
                 </div>
                 </div>
             </div>
             </div>
         </c:if>
         </c:if>
@@ -151,7 +151,7 @@
                     <div class="controls">
                     <div class="controls">
                         <input type="number" class="required arbitrateThreshold-input" htmlEscape="false"
                         <input type="number" class="required arbitrateThreshold-input" htmlEscape="false"
                                maxlength="10"
                                maxlength="10"
-                               value="${question.arbitrateThreshold}"/>*阈值为分数且大于等于0
+                               value="${question.arbitrateThreshold}"/>*阈值为分数且大于等于0,大于阈值触发仲裁
                     </div>
                     </div>
                 </div>
                 </div>
             </c:forEach>
             </c:forEach>
@@ -190,7 +190,7 @@
         $('.interval-score-input').each(function () {
         $('.interval-score-input').each(function () {
             var score = $(this).val();
             var score = $(this).val();
             var reg = /^-?\d+\.?\d{0,2}$/;
             var reg = /^-?\d+\.?\d{0,2}$/;
-            if (score == '' || !reg.test(score) || score <= 0) {
+            if (score == '' || !reg.test(score) || score < 0) {
                 fill = false;
                 fill = false;
             } else {
             } else {
                 array.push(score);
                 array.push(score);
@@ -199,7 +199,7 @@
         $('.arbitrateThreshold-input').each(function () {
         $('.arbitrateThreshold-input').each(function () {
             var score = $(this).val();
             var score = $(this).val();
             var reg = /^-?\d+\.?\d{0,2}$/;
             var reg = /^-?\d+\.?\d{0,2}$/;
-            if (score == '' || !reg.test(score) || score <= 0) {
+            if (score == '' || !reg.test(score) || score < 0) {
                 fill = false;
                 fill = false;
             } else {
             } else {
                 arbitrateThresholdArray.push(score);
                 arbitrateThresholdArray.push(score);