Commit 1f0490aaaad47b51882981b2e5afce7eb2d5aaaa
1 parent
8cc83820
1.考试情况报表样式
2.测验导出增加班级平均行
Showing
3 changed files
with
114 additions
and
45 deletions
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp
@@ -113,7 +113,7 @@ | @@ -113,7 +113,7 @@ | ||
113 | <td class="center"><div style="width:150px;"></div></td> | 113 | <td class="center"><div style="width:150px;"></div></td> |
114 | <td class="center"><div style="width:80px;"></div></td> | 114 | <td class="center"><div style="width:80px;"></div></td> |
115 | <c:forEach items="${testpaperList}" var="var" varStatus="vs"> | 115 | <c:forEach items="${testpaperList}" var="var" varStatus="vs"> |
116 | - <td class="center"><div style="width:80px;margin:0 auto;">${var.AVG_SCORE}</div></td> | 116 | + <td class="center"><div style="width:80px;margin:0 auto;">${var.AVG_SCORE==""?"--":var.AVG_SCORE}</div></td> |
117 | </c:forEach> | 117 | </c:forEach> |
118 | </tr> | 118 | </tr> |
119 | <tr> | 119 | <tr> |
@@ -149,7 +149,7 @@ | @@ -149,7 +149,7 @@ | ||
149 | </div></td> | 149 | </div></td> |
150 | <td class="center"><div style="width:80px;margin:0 auto;"> | 150 | <td class="center"><div style="width:80px;margin:0 auto;"> |
151 | <c:if test="${not empty var.GETSCORE}"> | 151 | <c:if test="${not empty var.GETSCORE}"> |
152 | - ${var.GETSCORE } | 152 | + ${var.GETSCORE} |
153 | </c:if> | 153 | </c:if> |
154 | <c:if test="${empty var.GETSCORE}"> | 154 | <c:if test="${empty var.GETSCORE}"> |
155 | -- | 155 | -- |
src/com/fh/controller/sunvote/paper/PaperController.java
@@ -326,12 +326,19 @@ public class PaperController extends BaseController { | @@ -326,12 +326,19 @@ public class PaperController extends BaseController { | ||
326 | PageData pd = new PageData(); | 326 | PageData pd = new PageData(); |
327 | List<PageData> templist = new ArrayList<PageData>(); | 327 | List<PageData> templist = new ArrayList<PageData>(); |
328 | PageData saveData = new PageData(); | 328 | PageData saveData = new PageData(); |
329 | + DecimalFormat decimalFormat = new DecimalFormat("0.00"); | ||
329 | 330 | ||
330 | ResponseGson<PageData> res = new ResponseGson(); | 331 | ResponseGson<PageData> res = new ResponseGson(); |
331 | pd = this.getPageData(); | 332 | pd = this.getPageData(); |
332 | if (pd.containsKey("PAPER_ID")) { | 333 | if (pd.containsKey("PAPER_ID")) { |
333 | List<PageData> list = testpaperService.listAll(pd); | 334 | List<PageData> list = testpaperService.listAll(pd); |
334 | - | 335 | + Integer you_sum = 0; // 优秀总人数 |
336 | + Integer liang_sum = 0; // 良好总人数 | ||
337 | + Integer jige_sum = 0; // 及格总人数 | ||
338 | + Integer difen_sum = 0; // 低分总人数 | ||
339 | + Integer num_sum = 0; // 年级总人数 | ||
340 | + Float avg_sum = (float) 0; // 平均分的和 | ||
341 | + String testpaperList = ""; | ||
335 | pd.put("testpaperlist", list); | 342 | pd.put("testpaperlist", list); |
336 | for (int i = 0; i < list.size(); i++) { | 343 | for (int i = 0; i < list.size(); i++) { |
337 | PageData data = new PageData(); | 344 | PageData data = new PageData(); |
@@ -340,6 +347,8 @@ public class PaperController extends BaseController { | @@ -340,6 +347,8 @@ public class PaperController extends BaseController { | ||
340 | pdtemp.put("CLASS_ID", list.get(i).get("SCLASS_ID").toString()); | 347 | pdtemp.put("CLASS_ID", list.get(i).get("SCLASS_ID").toString()); |
341 | List<PageData> studentlist = stundentService | 348 | List<PageData> studentlist = stundentService |
342 | .listAllClass(pdtemp); | 349 | .listAllClass(pdtemp); |
350 | + testpaperList += list.get(i).get("TESTPAPER_ID").toString() | ||
351 | + + ","; | ||
343 | data.put("testpaper_id", list.get(i).get("TESTPAPER_ID")); | 352 | data.put("testpaper_id", list.get(i).get("TESTPAPER_ID")); |
344 | data.put("student_num", studentlist.size()); | 353 | data.put("student_num", studentlist.size()); |
345 | data.put("creat_time", list.get(i).get("CREATE_DATE")); | 354 | data.put("creat_time", list.get(i).get("CREATE_DATE")); |
@@ -371,7 +380,14 @@ public class PaperController extends BaseController { | @@ -371,7 +380,14 @@ public class PaperController extends BaseController { | ||
371 | } | 380 | } |
372 | 381 | ||
373 | } | 382 | } |
374 | - | 383 | + you_sum += you; |
384 | + liang_sum += liang; | ||
385 | + jige_sum += jige; | ||
386 | + difen_sum += difen; | ||
387 | + num_sum += studentlist.size(); | ||
388 | + avg_sum += list.get(i).get("AVG_SCORE") | ||
389 | + .toString().isEmpty()?0:Float.valueOf(list.get(i).get("AVG_SCORE") | ||
390 | + .toString()); | ||
375 | data.put("you", you); | 391 | data.put("you", you); |
376 | data.put("liang", liang); | 392 | data.put("liang", liang); |
377 | data.put("jige", jige); | 393 | data.put("jige", jige); |
@@ -379,6 +395,22 @@ public class PaperController extends BaseController { | @@ -379,6 +395,22 @@ public class PaperController extends BaseController { | ||
379 | 395 | ||
380 | templist.add(data); | 396 | templist.add(data); |
381 | } | 397 | } |
398 | + | ||
399 | + if (list.size() > 0) { | ||
400 | + PageData dataTemp = new PageData(); | ||
401 | + dataTemp.put("testpaper_id", ""); | ||
402 | + dataTemp.put("student_num", num_sum); | ||
403 | + dataTemp.put("creat_time", ""); | ||
404 | + dataTemp.put("avg_score", | ||
405 | + decimalFormat.format(avg_sum / list.size())); | ||
406 | + dataTemp.put("class_id", ""); | ||
407 | + dataTemp.put("you", you_sum); | ||
408 | + dataTemp.put("liang", liang_sum); | ||
409 | + dataTemp.put("jige", jige_sum); | ||
410 | + dataTemp.put("difen", difen_sum); | ||
411 | + dataTemp.put("testpaperList", testpaperList); | ||
412 | + templist.add(dataTemp); | ||
413 | + } | ||
382 | } | 414 | } |
383 | 415 | ||
384 | Map<String, Object> dataMap = new HashMap<String, Object>(); | 416 | Map<String, Object> dataMap = new HashMap<String, Object>(); |
@@ -399,46 +431,82 @@ public class PaperController extends BaseController { | @@ -399,46 +431,82 @@ public class PaperController extends BaseController { | ||
399 | dataMap.put("titles", titles); | 431 | dataMap.put("titles", titles); |
400 | List<PageData> varOList = templist; | 432 | List<PageData> varOList = templist; |
401 | List<PageData> varList = new ArrayList<PageData>(); | 433 | List<PageData> varList = new ArrayList<PageData>(); |
402 | - DecimalFormat decimalFormat = new DecimalFormat("0.00"); | 434 | +// DecimalFormat decimalFormat = new DecimalFormat("0.00"); |
403 | for (int i = 0; i < varOList.size(); i++) { | 435 | for (int i = 0; i < varOList.size(); i++) { |
404 | PageData vpd = new PageData(); | 436 | PageData vpd = new PageData(); |
405 | - vpd.put("ID", varOList.get(i).getString("class_id")); | ||
406 | - PageData c = sclassService.findById(vpd); | ||
407 | - vpd.remove("ID"); | ||
408 | - | ||
409 | - Integer you = Integer.valueOf(varOList.get(i).getString("you")); | ||
410 | - Integer liang = Integer.valueOf(varOList.get(i).getString("liang")); | ||
411 | - Integer jige = Integer.valueOf(varOList.get(i).getString("jige")); | ||
412 | - Integer difen = Integer.valueOf(varOList.get(i).getString("difen")); | ||
413 | - Integer student_num = Integer.valueOf(varOList.get(i).getString( | ||
414 | - "student_num")); | ||
415 | - | ||
416 | - vpd.put("var1", i + 1); // 1 | ||
417 | - vpd.put("var2", c.getString("CLASS_NAME")); // 2 | ||
418 | - vpd.put("var3", varOList.get(i).getString("creat_time")); // 3 | ||
419 | - vpd.put("var4", varOList.get(i).getString("avg_score")); // 4 | ||
420 | - vpd.put("var5", student_num); // 5 | ||
421 | - vpd.put("var6", you); // 6 | ||
422 | - vpd.put("var7", | ||
423 | - student_num == 0 ? 0 : decimalFormat.format(you * 100.0 | ||
424 | - / student_num) | ||
425 | - + "%"); // 7 | ||
426 | - vpd.put("var8", liang); // 8 | ||
427 | - vpd.put("var9", | ||
428 | - student_num == 0 ? 0 : decimalFormat.format(liang * 100.0 | ||
429 | - / student_num) | ||
430 | - + "%"); // 9 | ||
431 | - vpd.put("var10", jige); // 10 | ||
432 | - vpd.put("var11", | ||
433 | - student_num == 0 ? 0 : decimalFormat.format(jige * 100.0 | ||
434 | - / student_num) | ||
435 | - + "%"); // 11 | ||
436 | - vpd.put("var12", difen); // 12 | ||
437 | - vpd.put("var13", | ||
438 | - student_num == 0 ? 0 : decimalFormat.format(difen * 100.0 | ||
439 | - / student_num) | ||
440 | - + "%"); // 13 | ||
441 | - varList.add(vpd); | 437 | + if(!varOList.get(i).getString("class_id").isEmpty()){ |
438 | + vpd.put("ID", varOList.get(i).getString("class_id")); | ||
439 | + PageData c = sclassService.findById(vpd); | ||
440 | + vpd.remove("ID"); | ||
441 | + | ||
442 | + Integer you = Integer.valueOf(varOList.get(i).getString("you")); | ||
443 | + Integer liang = Integer.valueOf(varOList.get(i).getString("liang")); | ||
444 | + Integer jige = Integer.valueOf(varOList.get(i).getString("jige")); | ||
445 | + Integer difen = Integer.valueOf(varOList.get(i).getString("difen")); | ||
446 | + Integer student_num = Integer.valueOf(varOList.get(i).getString( | ||
447 | + "student_num")); | ||
448 | + | ||
449 | + vpd.put("var1", i + 1); // 1 | ||
450 | + vpd.put("var2", c.getString("CLASS_NAME")); // 2 | ||
451 | + vpd.put("var3", varOList.get(i).getString("creat_time")); // 3 | ||
452 | + vpd.put("var4", varOList.get(i).getString("avg_score")); // 4 | ||
453 | + vpd.put("var5", student_num); // 5 | ||
454 | + vpd.put("var6", you); // 6 | ||
455 | + vpd.put("var7", | ||
456 | + student_num == 0 ? 0 : decimalFormat.format(you * 100.0 | ||
457 | + / student_num) | ||
458 | + + "%"); // 7 | ||
459 | + vpd.put("var8", liang); // 8 | ||
460 | + vpd.put("var9", | ||
461 | + student_num == 0 ? 0 : decimalFormat.format(liang * 100.0 | ||
462 | + / student_num) | ||
463 | + + "%"); // 9 | ||
464 | + vpd.put("var10", jige); // 10 | ||
465 | + vpd.put("var11", | ||
466 | + student_num == 0 ? 0 : decimalFormat.format(jige * 100.0 | ||
467 | + / student_num) | ||
468 | + + "%"); // 11 | ||
469 | + vpd.put("var12", difen); // 12 | ||
470 | + vpd.put("var13", | ||
471 | + student_num == 0 ? 0 : decimalFormat.format(difen * 100.0 | ||
472 | + / student_num) | ||
473 | + + "%"); // 13 | ||
474 | + varList.add(vpd); | ||
475 | + }else{ | ||
476 | + Integer you = Integer.valueOf(varOList.get(i).getString("you")); | ||
477 | + Integer liang = Integer.valueOf(varOList.get(i).getString("liang")); | ||
478 | + Integer jige = Integer.valueOf(varOList.get(i).getString("jige")); | ||
479 | + Integer difen = Integer.valueOf(varOList.get(i).getString("difen")); | ||
480 | + Integer student_num = Integer.valueOf(varOList.get(i).getString( | ||
481 | + "student_num")); | ||
482 | + | ||
483 | + vpd.put("var1", "/"); // 1 | ||
484 | + vpd.put("var2", "班级平均"); // 2 | ||
485 | + vpd.put("var3", "/"); // 3 | ||
486 | + vpd.put("var4", varOList.get(i).getString("avg_score")); // 4 | ||
487 | + vpd.put("var5", "/"); // 5 | ||
488 | + vpd.put("var6", "/"); // 6 | ||
489 | + vpd.put("var7", | ||
490 | + student_num == 0 ? 0 : decimalFormat.format(you * 100.0 | ||
491 | + / student_num) | ||
492 | + + "%"); // 7 | ||
493 | + vpd.put("var8", "/"); // 8 | ||
494 | + vpd.put("var9", | ||
495 | + student_num == 0 ? 0 : decimalFormat.format(liang * 100.0 | ||
496 | + / student_num) | ||
497 | + + "%"); // 9 | ||
498 | + vpd.put("var10", "/"); // 10 | ||
499 | + vpd.put("var11", | ||
500 | + student_num == 0 ? 0 : decimalFormat.format(jige * 100.0 | ||
501 | + / student_num) | ||
502 | + + "%"); // 11 | ||
503 | + vpd.put("var12", "/"); // 12 | ||
504 | + vpd.put("var13", | ||
505 | + student_num == 0 ? 0 : decimalFormat.format(difen * 100.0 | ||
506 | + / student_num) | ||
507 | + + "%"); // 13 | ||
508 | + varList.add(vpd); | ||
509 | + } | ||
442 | } | 510 | } |
443 | dataMap.put("varList", varList); | 511 | dataMap.put("varList", varList); |
444 | ObjectExcelView erv = new ObjectExcelView(); | 512 | ObjectExcelView erv = new ObjectExcelView(); |
src/com/fh/controller/sunvote/report/ReportController.java
@@ -734,9 +734,10 @@ public class ReportController extends BaseController { | @@ -734,9 +734,10 @@ public class ReportController extends BaseController { | ||
734 | vpd.put("var"+(j+4), testpaperList.get(j).getString("TOTAL_SCORE")); | 734 | vpd.put("var"+(j+4), testpaperList.get(j).getString("TOTAL_SCORE")); |
735 | else if(x==1) | 735 | else if(x==1) |
736 | vpd.put("var"+(j+4), testpaperList.get(j).getString("AVG_SCORE")); | 736 | vpd.put("var"+(j+4), testpaperList.get(j).getString("AVG_SCORE")); |
737 | - else | ||
738 | - 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); | ||
739 | - | 737 | + else{ |
738 | + String avg_score = "".equals(testpaperList.get(j).getString("AVG_SCORE"))?"0":testpaperList.get(j).getString("AVG_SCORE"); | ||
739 | + 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); | ||
740 | + } | ||
740 | }else{ | 741 | }else{ |
741 | vpd.put("var"+(j+4), studentList.get(x-3).getString(testpaperList.get(j).getString("TESTPAPER_ID"))); | 742 | vpd.put("var"+(j+4), studentList.get(x-3).getString(testpaperList.get(j).getString("TESTPAPER_ID"))); |
742 | } | 743 | } |