1
0
Эх сурвалжийг харах

增加简易版成绩分析PDF

ting.yin 5 жил өмнө
parent
commit
e88a127672

+ 40 - 20
stmms-web/src/main/java/cn/com/qmth/stmms/report/ReportController.java

@@ -89,20 +89,36 @@ public class ReportController {
     @RequestMapping(value = "/teachAndResearch/{examId}/{subjectCode}", method = RequestMethod.GET)
     public String getSubject(Model model, HttpServletRequest request, @PathVariable Integer examId,
             @PathVariable String subjectCode) {
-        JSONObject result = getJson(examId, subjectCode, null);
+        JSONObject result = getJson(examId, subjectCode, null,true);
         model.addAttribute("data", result);
         return "modules/report/pdf";
     }
 
     @RequestMapping(value = "/teachAndResearch/{examId}/{subjectCode}/{paperType}", method = RequestMethod.GET)
-    public String getReport(Model model, HttpServletRequest request, @PathVariable Integer examId,
+    public String getSubjectByPaperType(Model model, HttpServletRequest request, @PathVariable Integer examId,
             @PathVariable String subjectCode, @PathVariable String paperType) {
-        JSONObject result = getJson(examId, subjectCode, paperType);
+        JSONObject result = getJson(examId, subjectCode, paperType,true);
         model.addAttribute("data", result);
         return "modules/report/pdf";
     }
 
-    private JSONObject getJson(Integer examId, String subjectCode, String paperType) {
+    @RequestMapping(value = "/teachAndResearch/simple/{examId}/{subjectCode}", method = RequestMethod.GET)
+    public String getSubjectSimple(Model model, HttpServletRequest request, @PathVariable Integer examId,
+            @PathVariable String subjectCode) {
+        JSONObject result = getJson(examId, subjectCode, null,false);
+        model.addAttribute("data", result);
+        return "modules/report/pdf";
+    }
+
+    @RequestMapping(value = "/teachAndResearch/simple/{examId}/{subjectCode}/{paperType}", method = RequestMethod.GET)
+    public String getSubjectSimpleByPaperType(Model model, HttpServletRequest request, @PathVariable Integer examId,
+            @PathVariable String subjectCode, @PathVariable String paperType) {
+        JSONObject result = getJson(examId, subjectCode, paperType,false);
+        model.addAttribute("data", result);
+        return "modules/report/pdf";
+    }
+
+    private JSONObject getJson(Integer examId, String subjectCode, String paperType,boolean isFull) {
         JSONObject result = new JSONObject();
         ExamSubject subject = subjectService.find(examId, subjectCode);
         if (subject == null) {
@@ -150,8 +166,8 @@ public class ReportController {
             result.accumulate("difficulty_level",
                     getDifficulty(examId, subjectCode, paperType, reportSubject, subjectClasses, subjectGroups));
             result.accumulate("range_level", getRangeLevel(query, reportSubject, subjectClasses));
-            result.accumulate("range_10_totalScore", getRange10(reportSubject, subjectClasses));
-            result.accumulate("range_1_totalScore", getRange1(reportSubject, subjectClasses));
+            result.accumulate("range_10_totalScore", getRange10(reportSubject, subjectClasses,isFull));
+            result.accumulate("range_1_totalScore", getRange1(reportSubject, subjectClasses,isFull));
             result.accumulate("range_segment_6", getRange6(reportSubject, subjectClasses));
             return result;
         } catch (Exception e) {
@@ -221,33 +237,37 @@ public class ReportController {
         return result.toString();
     }
 
-    private String getRange1(ReportSubject subject, List<ReportSubjectClass> list) {
+    private String getRange1(ReportSubject subject, List<ReportSubjectClass> list,boolean isFull) {
         JSONObject result = new JSONObject();
         result.accumulate("total",
                 getScoreRange1(subject.getScoreRange(), subject.getTotalScore(), subject.getRealityCount()));
         JSONArray classes = new JSONArray();
-        for (ReportSubjectClass c : list) {
-            JSONObject classValue = new JSONObject();
-            classValue.accumulate("name", c.getClassName());
-            classValue.accumulate("ranges",
-                    getScoreRange1(c.getScoreRange(), subject.getTotalScore(), c.getRealityCount()));
-            classes.add(classValue);
+        if(isFull){
+            for (ReportSubjectClass c : list) {
+                JSONObject classValue = new JSONObject();
+                classValue.accumulate("name", c.getClassName());
+                classValue.accumulate("ranges",
+                        getScoreRange1(c.getScoreRange(), subject.getTotalScore(), c.getRealityCount()));
+                classes.add(classValue);
+            }
         }
         result.accumulate("classes", classes);
         return result.toString();
     }
 
-    private String getRange10(ReportSubject subject, List<ReportSubjectClass> list) {
+    private String getRange10(ReportSubject subject, List<ReportSubjectClass> list,boolean isFull) {
         JSONObject result = new JSONObject();
         result.accumulate("total",
                 getScoreRange10(subject.getScoreRange(), subject.getTotalScore(), subject.getRealityCount()));
         JSONArray classes = new JSONArray();
-        for (ReportSubjectClass r : list) {
-            JSONObject classValue = new JSONObject();
-            classValue.accumulate("name", r.getClassName());
-            classValue.accumulate("ranges",
-                    getScoreRange10(r.getScoreRange(), subject.getTotalScore(), r.getRealityCount()));
-            classes.add(classValue);
+        if(isFull){
+            for (ReportSubjectClass r : list) {
+                JSONObject classValue = new JSONObject();
+                classValue.accumulate("name", r.getClassName());
+                classValue.accumulate("ranges",
+                        getScoreRange10(r.getScoreRange(), subject.getTotalScore(), r.getRealityCount()));
+                classes.add(classValue);
+            }
         }
         result.accumulate("classes", classes);
         return result.toString();