瀏覽代碼

修改评卷管理首页总进度计算方法

luoshi 6 年之前
父節點
當前提交
0c3c43ff94

+ 6 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/MarkGroupDao.java

@@ -43,6 +43,12 @@ public interface MarkGroupDao
     @Query("select count(q) from MarkGroup q where q.pk.examId=?1")
     @Query("select count(q) from MarkGroup q where q.pk.examId=?1")
     long countByExamId(int examId);
     long countByExamId(int examId);
 
 
+    @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
     @Modifying
     @Query("update MarkGroup g set g.libraryCount=(select count(l) from MarkLibrary l "
     @Query("update MarkGroup g set g.libraryCount=(select count(l) from MarkLibrary l "
             + "where l.examId=?1 and l.subjectCode=?2 and l.groupNumber=g.pk.number) "
             + "where l.examId=?1 and l.subjectCode=?2 and l.groupNumber=g.pk.number) "

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

@@ -30,10 +30,12 @@ public interface MarkGroupService {
 
 
     void resetBuildTime(int examId, String subjectCode);
     void resetBuildTime(int examId, String subjectCode);
 
 
-	void updateDoubleRate(int examId, String subjectCode, Integer number,
-			Double doubleRate);
+    void updateDoubleRate(int examId, String subjectCode, Integer number, Double doubleRate);
 
 
-	void updateArbitrateThreshold(int examId, String subjectCode,
-			Integer number, Double arbitrateThreshold);
+    void updateArbitrateThreshold(int examId, String subjectCode, Integer number, Double arbitrateThreshold);
+
+    long sumLibraryCount(Integer examId);
+
+    long sumMarkedCount(Integer examId);
 
 
 }
 }

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

@@ -93,21 +93,31 @@ public class MarkGroupServiceImpl extends BaseQueryService<MarkGroup> implements
         return groupDao.countByExamId(examId);
         return groupDao.countByExamId(examId);
     }
     }
 
 
-	@Override
-	public void updateDoubleRate(int examId, String subjectCode,
-			Integer number, Double doubleRate) {
-		MarkGroup group  = findOne(examId, subjectCode, number); 
-		group.setDoubleRate(doubleRate);
-		save(group);
-	}
-
-	@Override
-	public void updateArbitrateThreshold(int examId, String subjectCode,
-			Integer number, Double arbitrateThreshold) {
-		MarkGroup group  = findOne(examId, subjectCode, number); 
-		group.setArbitrateThreshold(arbitrateThreshold);
-		save(group);
-		
-	}
+    @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
+    public void updateDoubleRate(int examId, String subjectCode, Integer number, Double doubleRate) {
+        MarkGroup group = findOne(examId, subjectCode, number);
+        group.setDoubleRate(doubleRate);
+        save(group);
+    }
+
+    @Override
+    public void updateArbitrateThreshold(int examId, String subjectCode, Integer number, Double arbitrateThreshold) {
+        MarkGroup group = findOne(examId, subjectCode, number);
+        group.setArbitrateThreshold(arbitrateThreshold);
+        save(group);
+
+    }
 
 
 }
 }

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

@@ -26,9 +26,7 @@ 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.MarkGroupService;
 import cn.com.qmth.stmms.biz.exam.service.MarkerService;
 import cn.com.qmth.stmms.biz.exam.service.MarkerService;
 import cn.com.qmth.stmms.biz.exam.service.query.ExamSubjectSearchQuery;
 import cn.com.qmth.stmms.biz.exam.service.query.ExamSubjectSearchQuery;
-import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
 import cn.com.qmth.stmms.common.domain.WebUser;
 import cn.com.qmth.stmms.common.domain.WebUser;
-import cn.com.qmth.stmms.common.enums.LibraryStatus;
 import cn.com.qmth.stmms.common.utils.ExportExcel;
 import cn.com.qmth.stmms.common.utils.ExportExcel;
 import cn.com.qmth.stmms.common.utils.RequestUtils;
 import cn.com.qmth.stmms.common.utils.RequestUtils;
 
 
@@ -41,9 +39,6 @@ public class MarkController extends BaseExamController {
     @Autowired
     @Autowired
     private ExamSubjectService subjectService;
     private ExamSubjectService subjectService;
 
 
-    @Autowired
-    private MarkLibraryService libraryService;
-
     @Autowired
     @Autowired
     private MarkerService markerService;
     private MarkerService markerService;
 
 
@@ -76,8 +71,8 @@ public class MarkController extends BaseExamController {
             list.add(vo);
             list.add(vo);
         }
         }
 
 
-        double total = libraryService.countByExamAndSubjectAndGroupAndStatus(examId, null, 0, null);
-        double finish = libraryService.countByExamAndSubjectAndGroupAndStatus(examId, null, 0, LibraryStatus.MARKED);
+        double total = (double) groupService.sumLibraryCount(examId);
+        double finish = (double) groupService.sumMarkedCount(examId);
         double percent = total > 0 ? (finish * 100 / total) : 0;
         double percent = total > 0 ? (finish * 100 / total) : 0;
         model.addAttribute("percent", new DecimalFormat("###.#").format(percent));
         model.addAttribute("percent", new DecimalFormat("###.#").format(percent));
         model.addAttribute("resultList", list);
         model.addAttribute("resultList", list);