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 @@
@@ -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
|