From 1f0490aaaad47b51882981b2e5afce7eb2d5aaaa Mon Sep 17 00:00:00 2001 From: jack_rabbit <376168706@qq.com> Date: Fri, 20 Dec 2019 15:00:35 +0800 Subject: [PATCH] 1.考试情况报表样式 2.测验导出增加班级平均行 --- WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp | 4 ++-- src/com/fh/controller/sunvote/paper/PaperController.java | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------- src/com/fh/controller/sunvote/report/ReportController.java | 7 ++++--- 3 files changed, 114 insertions(+), 45 deletions(-) diff --git a/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp b/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp index 6e2914f..7a53192 100644 --- a/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp +++ b/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp @@ -113,7 +113,7 @@
-
${var.AVG_SCORE}
+
${var.AVG_SCORE==""?"--":var.AVG_SCORE}
@@ -149,7 +149,7 @@
- ${var.GETSCORE } + ${var.GETSCORE} -- diff --git a/src/com/fh/controller/sunvote/paper/PaperController.java b/src/com/fh/controller/sunvote/paper/PaperController.java index 67ab6cd..fbfcc60 100644 --- a/src/com/fh/controller/sunvote/paper/PaperController.java +++ b/src/com/fh/controller/sunvote/paper/PaperController.java @@ -326,12 +326,19 @@ public class PaperController extends BaseController { PageData pd = new PageData(); List templist = new ArrayList(); PageData saveData = new PageData(); + DecimalFormat decimalFormat = new DecimalFormat("0.00"); ResponseGson res = new ResponseGson(); pd = this.getPageData(); if (pd.containsKey("PAPER_ID")) { List list = testpaperService.listAll(pd); - + Integer you_sum = 0; // 优秀总人数 + Integer liang_sum = 0; // 良好总人数 + Integer jige_sum = 0; // 及格总人数 + Integer difen_sum = 0; // 低分总人数 + Integer num_sum = 0; // 年级总人数 + Float avg_sum = (float) 0; // 平均分的和 + String testpaperList = ""; pd.put("testpaperlist", list); for (int i = 0; i < list.size(); i++) { PageData data = new PageData(); @@ -340,6 +347,8 @@ public class PaperController extends BaseController { pdtemp.put("CLASS_ID", list.get(i).get("SCLASS_ID").toString()); List studentlist = stundentService .listAllClass(pdtemp); + testpaperList += list.get(i).get("TESTPAPER_ID").toString() + + ","; data.put("testpaper_id", list.get(i).get("TESTPAPER_ID")); data.put("student_num", studentlist.size()); data.put("creat_time", list.get(i).get("CREATE_DATE")); @@ -371,7 +380,14 @@ public class PaperController extends BaseController { } } - + you_sum += you; + liang_sum += liang; + jige_sum += jige; + difen_sum += difen; + num_sum += studentlist.size(); + avg_sum += list.get(i).get("AVG_SCORE") + .toString().isEmpty()?0:Float.valueOf(list.get(i).get("AVG_SCORE") + .toString()); data.put("you", you); data.put("liang", liang); data.put("jige", jige); @@ -379,6 +395,22 @@ public class PaperController extends BaseController { templist.add(data); } + + if (list.size() > 0) { + PageData dataTemp = new PageData(); + dataTemp.put("testpaper_id", ""); + dataTemp.put("student_num", num_sum); + dataTemp.put("creat_time", ""); + dataTemp.put("avg_score", + decimalFormat.format(avg_sum / list.size())); + dataTemp.put("class_id", ""); + dataTemp.put("you", you_sum); + dataTemp.put("liang", liang_sum); + dataTemp.put("jige", jige_sum); + dataTemp.put("difen", difen_sum); + dataTemp.put("testpaperList", testpaperList); + templist.add(dataTemp); + } } Map dataMap = new HashMap(); @@ -399,46 +431,82 @@ public class PaperController extends BaseController { dataMap.put("titles", titles); List varOList = templist; List varList = new ArrayList(); - DecimalFormat decimalFormat = new DecimalFormat("0.00"); +// DecimalFormat decimalFormat = new DecimalFormat("0.00"); for (int i = 0; i < varOList.size(); i++) { PageData vpd = new PageData(); - vpd.put("ID", varOList.get(i).getString("class_id")); - PageData c = sclassService.findById(vpd); - vpd.remove("ID"); - - Integer you = Integer.valueOf(varOList.get(i).getString("you")); - Integer liang = Integer.valueOf(varOList.get(i).getString("liang")); - Integer jige = Integer.valueOf(varOList.get(i).getString("jige")); - Integer difen = Integer.valueOf(varOList.get(i).getString("difen")); - Integer student_num = Integer.valueOf(varOList.get(i).getString( - "student_num")); - - vpd.put("var1", i + 1); // 1 - vpd.put("var2", c.getString("CLASS_NAME")); // 2 - vpd.put("var3", varOList.get(i).getString("creat_time")); // 3 - vpd.put("var4", varOList.get(i).getString("avg_score")); // 4 - vpd.put("var5", student_num); // 5 - vpd.put("var6", you); // 6 - vpd.put("var7", - student_num == 0 ? 0 : decimalFormat.format(you * 100.0 - / student_num) - + "%"); // 7 - vpd.put("var8", liang); // 8 - vpd.put("var9", - student_num == 0 ? 0 : decimalFormat.format(liang * 100.0 - / student_num) - + "%"); // 9 - vpd.put("var10", jige); // 10 - vpd.put("var11", - student_num == 0 ? 0 : decimalFormat.format(jige * 100.0 - / student_num) - + "%"); // 11 - vpd.put("var12", difen); // 12 - vpd.put("var13", - student_num == 0 ? 0 : decimalFormat.format(difen * 100.0 - / student_num) - + "%"); // 13 - varList.add(vpd); + if(!varOList.get(i).getString("class_id").isEmpty()){ + vpd.put("ID", varOList.get(i).getString("class_id")); + PageData c = sclassService.findById(vpd); + vpd.remove("ID"); + + Integer you = Integer.valueOf(varOList.get(i).getString("you")); + Integer liang = Integer.valueOf(varOList.get(i).getString("liang")); + Integer jige = Integer.valueOf(varOList.get(i).getString("jige")); + Integer difen = Integer.valueOf(varOList.get(i).getString("difen")); + Integer student_num = Integer.valueOf(varOList.get(i).getString( + "student_num")); + + vpd.put("var1", i + 1); // 1 + vpd.put("var2", c.getString("CLASS_NAME")); // 2 + vpd.put("var3", varOList.get(i).getString("creat_time")); // 3 + vpd.put("var4", varOList.get(i).getString("avg_score")); // 4 + vpd.put("var5", student_num); // 5 + vpd.put("var6", you); // 6 + vpd.put("var7", + student_num == 0 ? 0 : decimalFormat.format(you * 100.0 + / student_num) + + "%"); // 7 + vpd.put("var8", liang); // 8 + vpd.put("var9", + student_num == 0 ? 0 : decimalFormat.format(liang * 100.0 + / student_num) + + "%"); // 9 + vpd.put("var10", jige); // 10 + vpd.put("var11", + student_num == 0 ? 0 : decimalFormat.format(jige * 100.0 + / student_num) + + "%"); // 11 + vpd.put("var12", difen); // 12 + vpd.put("var13", + student_num == 0 ? 0 : decimalFormat.format(difen * 100.0 + / student_num) + + "%"); // 13 + varList.add(vpd); + }else{ + Integer you = Integer.valueOf(varOList.get(i).getString("you")); + Integer liang = Integer.valueOf(varOList.get(i).getString("liang")); + Integer jige = Integer.valueOf(varOList.get(i).getString("jige")); + Integer difen = Integer.valueOf(varOList.get(i).getString("difen")); + Integer student_num = Integer.valueOf(varOList.get(i).getString( + "student_num")); + + vpd.put("var1", "/"); // 1 + vpd.put("var2", "班级平均"); // 2 + vpd.put("var3", "/"); // 3 + vpd.put("var4", varOList.get(i).getString("avg_score")); // 4 + vpd.put("var5", "/"); // 5 + vpd.put("var6", "/"); // 6 + vpd.put("var7", + student_num == 0 ? 0 : decimalFormat.format(you * 100.0 + / student_num) + + "%"); // 7 + vpd.put("var8", "/"); // 8 + vpd.put("var9", + student_num == 0 ? 0 : decimalFormat.format(liang * 100.0 + / student_num) + + "%"); // 9 + vpd.put("var10", "/"); // 10 + vpd.put("var11", + student_num == 0 ? 0 : decimalFormat.format(jige * 100.0 + / student_num) + + "%"); // 11 + vpd.put("var12", "/"); // 12 + vpd.put("var13", + student_num == 0 ? 0 : decimalFormat.format(difen * 100.0 + / student_num) + + "%"); // 13 + varList.add(vpd); + } } dataMap.put("varList", varList); ObjectExcelView erv = new ObjectExcelView(); diff --git a/src/com/fh/controller/sunvote/report/ReportController.java b/src/com/fh/controller/sunvote/report/ReportController.java index 744f018..79d0eeb 100644 --- a/src/com/fh/controller/sunvote/report/ReportController.java +++ b/src/com/fh/controller/sunvote/report/ReportController.java @@ -734,9 +734,10 @@ public class ReportController extends BaseController { vpd.put("var"+(j+4), testpaperList.get(j).getString("TOTAL_SCORE")); else if(x==1) vpd.put("var"+(j+4), testpaperList.get(j).getString("AVG_SCORE")); - else - vpd.put("var"+(j+4), testpaperList.get(j).getString("TOTAL_SCORE")=="0"?"0": Float.parseFloat(testpaperList.get(j).getString("AVG_SCORE")) / Float.parseFloat(testpaperList.get(j).getString("TOTAL_SCORE")) * 100); - + else{ + String avg_score = "".equals(testpaperList.get(j).getString("AVG_SCORE"))?"0":testpaperList.get(j).getString("AVG_SCORE"); + vpd.put("var"+(j+4), testpaperList.get(j).getString("TOTAL_SCORE")=="0"?"0": Float.parseFloat(avg_score) / Float.parseFloat(testpaperList.get(j).getString("TOTAL_SCORE")) * 100); + } }else{ vpd.put("var"+(j+4), studentList.get(x-3).getString(testpaperList.get(j).getString("TESTPAPER_ID"))); } -- libgit2 0.21.4