ting.yin 2 سال پیش
والد
کامیت
3f8226ac61

+ 0 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/TrackDTO.java

@@ -96,7 +96,6 @@ public class TrackDTO implements Serializable {
         track.setExamId(library.getExamId());
         track.setSubjectCode(library.getSubjectCode());
         track.setGroupNumber(library.getGroupNumber());
-        track.setMarkerId(library.getMarkerId());
         track.setScore(getScore());
         track.setPositionX(getPositionX());
         track.setPositionY(getPositionY());

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

@@ -1770,7 +1770,6 @@ public class MarkServiceImpl implements MarkService {
             return false;
         }
         for (ExamQuestion question : list) {
-
             SelectiveGroup selectiveGroup = selectiveGroupService.findOne(question.getExamId(),
                     question.getSubjectCode(), question.getMainNumber());
             if (selectiveGroup != null) {

+ 1 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/PaperController.java

@@ -754,9 +754,9 @@ public class PaperController extends BaseExamController {
         for (Integer id : ids) {
             ExamQuestion question = questionService.findById(id);
             if (question != null) {
-                list.add(question);
                 if (lockService.trylock(LockType.QUESTION_DELETE, question.getExamId(), question.getSubjectCode(),
                         question.getMainNumber(), question.getSubNumber())) {
+                    list.add(question);
                     RequestUtils.setLog(request, "开始删除题目,subjectCode:" + question.getSubjectCode() + " main number:"
                             + question.getMainNumber() + " sub number:" + question.getSubNumber());
                 }

+ 3 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/report/ReportSubjectRangeController.java

@@ -219,6 +219,9 @@ public class ReportSubjectRangeController extends BaseExamController {
         for (int i = total; i >= 0; i--) {
             int start = i * range;
             int end = (i + 1) * range;
+            if (start > totalScore) {
+                start = (int) Math.ceil(totalScore);
+            }
             if (end > totalScore) {
                 end = (int) Math.ceil(totalScore);
             }

+ 16 - 8
stmms-web/src/main/java/cn/com/qmth/stmms/admin/thread/QuestionDeleteThread.java

@@ -1,6 +1,8 @@
 package cn.com.qmth.stmms.admin.thread;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -16,12 +18,12 @@ public class QuestionDeleteThread implements Runnable {
 
     private List<ExamQuestion> list;
 
-    private ExamQuestion question;
-
     private MarkService markService;
 
     private LockService lockService;
 
+    private Map<Integer, String> map;
+
     public QuestionDeleteThread(List<ExamQuestion> list, MarkService markService, LockService lockService) {
         this.list = list;
         this.markService = markService;
@@ -33,17 +35,23 @@ public class QuestionDeleteThread implements Runnable {
         if (list == null || list.isEmpty()) {
             return;
         }
+        int examId = list.get(0).getExamId();
+        String subjectCode = list.get(0).getSubjectCode();
+        map = new HashMap<Integer, String>();
+        for (ExamQuestion examQuestion : list) {
+            map.put(examQuestion.getMainNumber(), examQuestion.getSubNumber());
+        }
         try {
-            question = list.get(0);
-            lockService.waitlock(LockType.EXAM_SUBJECT, question.getExamId(), question.getSubjectCode());
-            log.info("delete question examId=" + question.getExamId() + " subjectCode=" + question.getSubjectCode());
+            lockService.waitlock(LockType.EXAM_SUBJECT, examId, subjectCode);
+            log.info("delete question examId=" + examId + " subjectCode=" + subjectCode);
             markService.deleteByQuestion(list);
         } catch (Exception e) {
             log.error("delete group error", e);
         } finally {
-            lockService.unlock(LockType.EXAM_SUBJECT, question.getExamId(), question.getSubjectCode());
-            lockService.unlock(LockType.QUESTION_DELETE, question.getExamId(), question.getSubjectCode(),
-                    question.getMainNumber(), question.getSubNumber());
+            lockService.unlock(LockType.EXAM_SUBJECT, examId, subjectCode);
+            for (Integer mainNumber : map.keySet()) {
+                lockService.unlock(LockType.QUESTION_DELETE, examId, subjectCode, mainNumber, map.get(mainNumber));
+            }
         }
     }