Преглед на файлове

增加班级排序并修复一些bug

ting.yin преди 6 години
родител
ревизия
ef8b925c12

+ 21 - 17
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportSubjectClassServiceImpl.java

@@ -1,5 +1,22 @@
 package cn.com.qmth.stmms.biz.report.service.impl;
 
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import cn.com.qmth.stmms.biz.common.BaseQueryService;
 import cn.com.qmth.stmms.biz.exam.dao.ExamSubjectDao;
 import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
@@ -9,20 +26,6 @@ import cn.com.qmth.stmms.biz.report.query.ReportSubjectQuery;
 import cn.com.qmth.stmms.biz.report.service.ReportSubjectClassService;
 import cn.com.qmth.stmms.biz.utils.DoubleUtil;
 
-import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import java.util.LinkedList;
-import java.util.List;
-
 /**
  * 课程班级分析 service实现
  *
@@ -46,7 +49,8 @@ public class ReportSubjectClassServiceImpl extends BaseQueryService<ReportSubjec
 
     @Override
     public List<ReportSubjectClass> findByQuery(final ReportSubjectQuery query) {
-        List<ReportSubjectClass> result = reportSubjectClassDao.findAll(new Specification<ReportSubjectClass>() {
+        query.setSort(new Sort(Direction.ASC, "className"));
+        Page<ReportSubjectClass> result = reportSubjectClassDao.findAll(new Specification<ReportSubjectClass>() {
             @Override
             public Predicate toPredicate(Root<ReportSubjectClass> root, CriteriaQuery<?> cQuery, CriteriaBuilder cb) {
                 List<Predicate> predicates = new LinkedList<Predicate>();
@@ -63,8 +67,8 @@ public class ReportSubjectClassServiceImpl extends BaseQueryService<ReportSubjec
                 return predicates.isEmpty() ? cb.conjunction()
                         : cb.and(predicates.toArray(new Predicate[predicates.size()]));
             }
-        });
-        return result;
+        },query);
+        return result.getContent();
     }
 
     @Override

+ 4 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportSubjectGroupServiceImpl.java

@@ -14,6 +14,7 @@ import javax.persistence.criteria.Root;
 
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.domain.Sort.Direction;
 import org.springframework.data.jpa.domain.Specification;
@@ -70,7 +71,7 @@ public class ReportSubjectGroupServiceImpl extends BaseQueryService<ReportSubjec
     @Override
     public List<ReportSubjectGroup> findByQuery(final ReportSubjectQuery query) {
         query.setSort(new Sort(Direction.ASC, "groupNumber"));
-        List<ReportSubjectGroup> result = reportSubjectGroupDao.findAll(new Specification<ReportSubjectGroup>() {
+        Page<ReportSubjectGroup> result = reportSubjectGroupDao.findAll(new Specification<ReportSubjectGroup>() {
             @Override
             public Predicate toPredicate(Root<ReportSubjectGroup> root, CriteriaQuery<?> cQuery, CriteriaBuilder cb) {
                 List<Predicate> predicates = new LinkedList<Predicate>();
@@ -86,8 +87,8 @@ public class ReportSubjectGroupServiceImpl extends BaseQueryService<ReportSubjec
                 return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates.toArray(new Predicate[predicates
                         .size()]));
             }
-        });
-        return result;
+        },query);
+        return result.getContent();
     }
 
     @Override

+ 4 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportSubjectQuestionServiceImpl.java

@@ -14,6 +14,7 @@ import javax.persistence.criteria.Root;
 
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.domain.Sort.Direction;
 import org.springframework.data.jpa.domain.Specification;
@@ -70,7 +71,7 @@ public class ReportSubjectQuestionServiceImpl extends BaseQueryService<ReportSub
     @Override
     public List<ReportSubjectQuestion> findByQuery(final ReportSubjectQuery query) {
         query.setSort(new Sort(Direction.ASC, "mainNumber", "subNumber"));
-        List<ReportSubjectQuestion> result = reportSubjectQuestionDao.findAll(new Specification<ReportSubjectQuestion>() {
+        Page<ReportSubjectQuestion> result = reportSubjectQuestionDao.findAll(new Specification<ReportSubjectQuestion>() {
             @Override
             public Predicate toPredicate(Root<ReportSubjectQuestion> root, CriteriaQuery<?> cQuery, CriteriaBuilder cb) {
                 List<Predicate> predicates = new LinkedList<Predicate>();
@@ -84,8 +85,8 @@ public class ReportSubjectQuestionServiceImpl extends BaseQueryService<ReportSub
                 return predicates.isEmpty() ? cb.conjunction()
                         : cb.and(predicates.toArray(new Predicate[predicates.size()]));
             }
-        });
-        return result;
+        },query);
+        return result.getContent();
     }
 
     @Override

+ 4 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/utils/ReportContext.java

@@ -67,6 +67,10 @@ public class ReportContext {
             if (questionMap.get(key) == null) {
                 questionMap.put(key, question);
             }
+            String groupKey = getGroupKey(question);
+            if (groupMap.get(groupKey) == null) {
+                groupMap.put(groupKey, question);
+            }
         }
         for (ExamQuestion question : student.getSubjectiveQuestionList()) {
             String questionKey = getQuestionKey(question);

+ 3 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/report/reportSubjectGroup.jsp

@@ -52,6 +52,7 @@
     <thead>
     <tr>
         <th>大题</th>
+        <th>题号</th>
         <th>满分</th>
         <th>最高分</th>
         <th>最低分</th>
@@ -66,7 +67,8 @@
     <tbody>
     <c:forEach items="${list}" var="group">
         <tr>
-            <td>${group.groupName}_${group.groupNumber }</td>
+            <td>${group.groupName}</td>
+            <td>${group.groupNumber }</td>
             <td>${group.totalScore}</td>
             <td>${group.maxScore}</td>
             <td>${group.minScore}</td>

+ 4 - 0
stmms-web/src/main/webapp/WEB-INF/views/modules/report/reportSubjectQuestion.jsp

@@ -56,6 +56,8 @@
         <c:if test="${query.objective}">
         <th>试卷类型</th>
         </c:if>
+        <th>大题号</th>
+        <th>小题号</th>
         <th>单题分数</th>
         <th>单题平均分</th>
         <th>单题标准差</th>
@@ -70,6 +72,8 @@
             <c:if test="${query.objective}">
             <td>${question.paperType}</td>
             </c:if>
+            <td>${question.mainNumber}</td>
+            <td>${question.subNumber}</td>
             <td>${question.totalScore}</td>
             <td>${question.avgScore}</td>
             <td>${question.stdev}</td>