ting.yin 4 anni fa
parent
commit
e98040a782

+ 2 - 8
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/MarkGroupDao.java

@@ -14,8 +14,8 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
-public interface MarkGroupDao
-        extends PagingAndSortingRepository<MarkGroup, MarkGroupPK>, JpaSpecificationExecutor<MarkGroup> {
+public interface MarkGroupDao extends PagingAndSortingRepository<MarkGroup, MarkGroupPK>,
+        JpaSpecificationExecutor<MarkGroup> {
 
 
     @Query("select q from MarkGroup q where q.pk.examId=?1 and q.pk.subjectCode=?2 and q.pk.number=?3")
     @Query("select q from MarkGroup q where q.pk.examId=?1 and q.pk.subjectCode=?2 and q.pk.number=?3")
     MarkGroup findOne(Integer examId, String subjectCode, Integer groupNumber);
     MarkGroup findOne(Integer examId, String subjectCode, Integer groupNumber);
@@ -67,12 +67,6 @@ public interface MarkGroupDao
     @Query("select sum(g.totalScore) from MarkGroup g where g.pk.examId=?1 and g.pk.subjectCode=?2")
     @Query("select sum(g.totalScore) from MarkGroup g where g.pk.examId=?1 and g.pk.subjectCode=?2")
     Double sumTotalScore(Integer examId, String subjectCode);
     Double sumTotalScore(Integer examId, String subjectCode);
 
 
-    @Query("select sum(g.libraryCount) from MarkGroup g where g.pk.examId=?1")
-    Integer sumLibraryCount(Integer examId);
-
-    @Query("select sum(g.markedCount) from MarkGroup g where g.pk.examId=?1")
-    Integer sumMarkedCount(Integer examId);
-
     @Modifying(clearAutomatically = true)
     @Modifying(clearAutomatically = true)
     @Query("update MarkGroup g set g.libraryCount=?4, g.leftCount=(?4-g.markedCount) where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
     @Query("update MarkGroup g set g.libraryCount=?4, g.leftCount=(?4-g.markedCount) where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
     void updateLibraryCount(Integer examId, String subjectCode, Integer number, Integer totalCount);
     void updateLibraryCount(Integer examId, String subjectCode, Integer number, Integer totalCount);

+ 0 - 4
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/MarkGroupService.java

@@ -42,10 +42,6 @@ public interface MarkGroupService {
 
 
     void updateEnableAllZero(int examId, String subjectCode, Integer number, boolean enableAllZero);
     void updateEnableAllZero(int examId, String subjectCode, Integer number, boolean enableAllZero);
 
 
-    long sumLibraryCount(Integer examId);
-
-    long sumMarkedCount(Integer examId);
-
     double sumTotalScore(Integer examId, String subjectCode);
     double sumTotalScore(Integer examId, String subjectCode);
 
 
     boolean updateStatus(int examId, String subjectCode, Integer number, MarkStatus newStatus,
     boolean updateStatus(int examId, String subjectCode, Integer number, MarkStatus newStatus,

+ 1 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamStudentServiceImpl.java

@@ -942,7 +942,7 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         int i = -1;
         int i = -1;
         for (ExamQuestion question : questions) {
         for (ExamQuestion question : questions) {
             i++;
             i++;
-            if (question.getGroupNumber().equals(group.getNumber())) {
+            if (group.getNumber().equals(question.getGroupNumber())) {
                 double value = scoreList.size() > i ? scoreList.get(i).getScore() : 0;
                 double value = scoreList.size() > i ? scoreList.get(i).getScore() : 0;
                 score += value;
                 score += value;
                 details.add(value);
                 details.add(value);

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

@@ -149,18 +149,6 @@ public class MarkGroupServiceImpl extends BaseQueryService<MarkGroup> implements
         return groupDao.countByExamId(examId);
         return groupDao.countByExamId(examId);
     }
     }
 
 
-    @Override
-    public long sumLibraryCount(Integer examId) {
-        Integer count = groupDao.sumLibraryCount(examId);
-        return count != null ? count : 0;
-    }
-
-    @Override
-    public long sumMarkedCount(Integer examId) {
-        Integer count = groupDao.sumMarkedCount(examId);
-        return count != null ? count : 0;
-    }
-
     @Override
     @Override
     public double sumTotalScore(Integer examId, String subjectCode) {
     public double sumTotalScore(Integer examId, String subjectCode) {
         Double score = groupDao.sumTotalScore(examId, subjectCode);
         Double score = groupDao.sumTotalScore(examId, subjectCode);

+ 7 - 3
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkController.java

@@ -120,9 +120,13 @@ public class MarkController extends BaseExamController {
             vo.setGroupFinish(count == 0);
             vo.setGroupFinish(count == 0);
             list.add(vo);
             list.add(vo);
         }
         }
-
-        double total = (double) groupService.sumLibraryCount(examId);
-        double markedCount = (double) groupService.sumMarkedCount(examId);
+        MarkLibrarySearchQuery mQuery = new MarkLibrarySearchQuery();
+        mQuery.setExamId(examId);
+        long total = libraryService.countByQuery(mQuery);
+        mQuery.addStatus(LibraryStatus.MARKED);
+        mQuery.addStatus(LibraryStatus.ARBITRATED);
+        mQuery.addStatus(LibraryStatus.INSPECTED);
+        long markedCount = libraryService.countByQuery(mQuery);
         long subjectCount = subjectService.count(examId);
         long subjectCount = subjectService.count(examId);
         model.addAttribute("unMarkedCount", total - markedCount);
         model.addAttribute("unMarkedCount", total - markedCount);
         model.addAttribute("markedCount", markedCount);
         model.addAttribute("markedCount", markedCount);

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

@@ -93,6 +93,7 @@ public class MarkTrackController extends BaseExamController {
                 list.add(dto);
                 list.add(dto);
             }
             }
             map.accumulate("tagList", list);
             map.accumulate("tagList", list);
+            map.accumulate("secretNumber", student.getSecretNumber());
         }
         }
         return map;
         return map;
     }
     }

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

@@ -88,13 +88,13 @@ public class ReportSubjectRangeController extends BaseExamController {
         int examId = getSessionExamId(request);
         int examId = getSessionExamId(request);
         if (StringUtils.isNotBlank(query.getSubjectCode()) && query.getRange() != null) {
         if (StringUtils.isNotBlank(query.getSubjectCode()) && query.getRange() != null) {
             ReportSubject subject = reportSubjectService.findOne(query.getExamId(), query.getSubjectCode());
             ReportSubject subject = reportSubjectService.findOne(query.getExamId(), query.getSubjectCode());
-            model.addAttribute(
-                    "total",
-                    getScoreRange(subject.getScoreRange(), subject.getTotalScore(), subject.getRealityCount(),
-                            query.getRange()));
-            model.addAttribute("locked",
-                    lockService.isLocked(LockType.SCORE_CALCULATE, examId, subject.getSubjectCode()));
-
+            if (subject != null) {
+                model.addAttribute(
+                        "total",
+                        getScoreRange(subject.getScoreRange(), subject.getTotalScore(), subject.getRealityCount(),
+                                query.getRange()));
+            }
+            model.addAttribute("locked", lockService.isLocked(LockType.SCORE_CALCULATE, examId, query.getSubjectCode()));
         }
         }
         model.addAttribute("subjectList", getExamSubject(examId, wu));
         model.addAttribute("subjectList", getExamSubject(examId, wu));
         model.addAttribute("query", query);
         model.addAttribute("query", query);
@@ -195,6 +195,6 @@ public class ReportSubjectRangeController extends BaseExamController {
                     questionService, reportService, examService, subjectService, false);
                     questionService, reportService, examService, subjectService, false);
             taskExecutor.submit(thread);
             taskExecutor.submit(thread);
         }
         }
-        return "redirect:/admin/exam/reportSubjectRange?subjectCode=" + subjectCode;
+        return "redirect:/admin/exam/reportSubjectRange?subjectCode=" + subjectCode + "&range=" + 10;
     }
     }
 }
 }

+ 14 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/thread/ScoreReportThread.java

@@ -1,5 +1,7 @@
 package cn.com.qmth.stmms.admin.thread;
 package cn.com.qmth.stmms.admin.thread;
 
 
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.HashSet;
 import java.util.List;
 import java.util.List;
@@ -135,6 +137,18 @@ public class ScoreReportThread implements Runnable {
             if (list == null) {
             if (list == null) {
                 list = questionService.findByExamAndSubjectAndObjectiveAndPaperType(examId, subjectCode, true,
                 list = questionService.findByExamAndSubjectAndObjectiveAndPaperType(examId, subjectCode, true,
                         paperType);
                         paperType);
+                Collections.sort(list, new Comparator<ExamQuestion>() {
+
+                    @Override
+                    public int compare(ExamQuestion o1, ExamQuestion o2) {
+                        int i = o1.getMainNumber() - o2.getMainNumber();
+                        if (i == 0) {
+                            return Integer.parseUnsignedInt(o1.getSubNumber())
+                                    - Integer.parseUnsignedInt(o2.getSubNumber());
+                        }
+                        return i;
+                    }
+                });
                 objectiveMap.put(key, list);
                 objectiveMap.put(key, list);
             }
             }
             return list;
             return list;

+ 2 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/mark/MarkController.java

@@ -394,10 +394,10 @@ public class MarkController extends BaseController {
                     .findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
                     .findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
             if (group == null) {
             if (group == null) {
                 task = new Task();
                 task = new Task();
-                task.setMessage("mark.control.task.not.exist");
+                task.setMessage("评卷大题不存在");
             } else if (group.getStatus() == MarkStatus.FINISH) {
             } else if (group.getStatus() == MarkStatus.FINISH) {
                 task = new Task();
                 task = new Task();
-                task.setMessage("mark.control.task.finish");
+                task.setMessage("评卷已结束");
             } else if (group.getStatus() == MarkStatus.TRIAL) {
             } else if (group.getStatus() == MarkStatus.TRIAL) {
                 task = getTrialTask(marker);
                 task = getTrialTask(marker);
             } else if (group.getStatus() == MarkStatus.FORMAL) {
             } else if (group.getStatus() == MarkStatus.FORMAL) {