1
0
ting.yin 4 жил өмнө
parent
commit
be359cb2dc

+ 12 - 5
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkController.java

@@ -2,6 +2,7 @@ package cn.com.qmth.stmms.admin.exam;
 
 import java.text.DecimalFormat;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
@@ -82,11 +83,6 @@ public class MarkController extends BaseExamController {
         WebUser wu = RequestUtils.getWebUser(request);
         int examId = getSessionExamId(request);
         query.setExamId(examId);
-        // query.setUploadCountGt(0);
-        if (wu.isSubjectHeader() && StringUtils.isBlank(query.getCode())) {
-            String subjectCodeIn = StringUtils.join(wu.getSubjectCodeSet(), ",");
-            query.setCodeIn(subjectCodeIn);
-        }
         Set<String> unFinishSet = libraryService.findSubjectUnFinishByExamId(examId);
         unFinishSet.addAll(questionService.FindSubjectCodeByExamIdAndObjectiveAndGroupNumberIsNull(examId, false));
         if (query.getFinished() != null) {
@@ -97,6 +93,17 @@ public class MarkController extends BaseExamController {
                 query.setCodeIn(subjectCodeIn);
             }
         }
+        if (wu.isSubjectHeader()) {
+            String subjectCodeIn = StringUtils.join(wu.getSubjectCodeSet(), ",");
+            query.setCodeIn(subjectCodeIn);
+            Set<String> result = new HashSet<String>();
+            result.addAll(wu.getSubjectCodeSet());
+            result.retainAll(unFinishSet);
+            if (!query.getFinished()) {
+                String unFinishResult = StringUtils.join(result, ",");
+                query.setCodeNotIn(unFinishResult);
+            }
+        }
         query = subjectService.findByQuery(query);
 
         List<SubjectLibraryVO> list = new LinkedList<SubjectLibraryVO>();

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

@@ -376,9 +376,6 @@ public class PaperController extends BaseExamController {
                 }
             }
             error.add(0, success + "个科目导入成功;");
-            if (success > 0) {
-                subjectService.updateTotalScore(examId);
-            }
             RequestUtils.setLog(request, success + "个科目导入成功;");
         }
         if (error.size() > 0) {

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

@@ -161,14 +161,17 @@ public class ReportSubjectRangeController extends BaseExamController {
         int examId = getSessionExamId(request);
         if (StringUtils.isNotBlank(query.getSubjectCode()) && query.getRange() != null) {
             ReportSubject subject = reportSubjectService.findOne(examId, query.getSubjectCode());
-            JSONArray array = getScoreRange(subject.getScoreRange(), subject.getTotalScore(),
-                    subject.getRealityCount(), query.getRange());
-            for (int i = 0; i < array.size(); i++) {
-                JSONObject jsonObject = array.getJSONObject(i);
-                String score = jsonObject.getInt("score") + "-";
-                Integer rangeCount = jsonObject.getInt("rangeCount");
-                Double rangeRate = jsonObject.getDouble("rangeRate");
-                list.add(new ReportSubjectRangeDTO(score, rangeCount, rangeRate));
+            if (subject != null && subject.getScoreRange() != null && subject.getTotalScore() != null
+                    && subject.getRealityCount() != null) {
+                JSONArray array = getScoreRange(subject.getScoreRange(), subject.getTotalScore(),
+                        subject.getRealityCount(), query.getRange());
+                for (int i = 0; i < array.size(); i++) {
+                    JSONObject jsonObject = array.getJSONObject(i);
+                    String score = jsonObject.getInt("score") + "-";
+                    Integer rangeCount = jsonObject.getInt("rangeCount");
+                    Double rangeRate = jsonObject.getDouble("rangeRate");
+                    list.add(new ReportSubjectRangeDTO(score, rangeCount, rangeRate));
+                }
             }
         }
         String fileName = "课程分段统计.xlsx";