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 | 113 | <td class="center"><div style="width:150px;"></div></td> |
114 | 114 | <td class="center"><div style="width:80px;"></div></td> |
115 | 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 | 117 | </c:forEach> |
118 | 118 | </tr> |
119 | 119 | <tr> |
... | ... | @@ -149,7 +149,7 @@ |
149 | 149 | </div></td> |
150 | 150 | <td class="center"><div style="width:80px;margin:0 auto;"> |
151 | 151 | <c:if test="${not empty var.GETSCORE}"> |
152 | - ${var.GETSCORE } | |
152 | + ${var.GETSCORE} | |
153 | 153 | </c:if> |
154 | 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 | 326 | PageData pd = new PageData(); |
327 | 327 | List<PageData> templist = new ArrayList<PageData>(); |
328 | 328 | PageData saveData = new PageData(); |
329 | + DecimalFormat decimalFormat = new DecimalFormat("0.00"); | |
329 | 330 | |
330 | 331 | ResponseGson<PageData> res = new ResponseGson(); |
331 | 332 | pd = this.getPageData(); |
332 | 333 | if (pd.containsKey("PAPER_ID")) { |
333 | 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 | 342 | pd.put("testpaperlist", list); |
336 | 343 | for (int i = 0; i < list.size(); i++) { |
337 | 344 | PageData data = new PageData(); |
... | ... | @@ -340,6 +347,8 @@ public class PaperController extends BaseController { |
340 | 347 | pdtemp.put("CLASS_ID", list.get(i).get("SCLASS_ID").toString()); |
341 | 348 | List<PageData> studentlist = stundentService |
342 | 349 | .listAllClass(pdtemp); |
350 | + testpaperList += list.get(i).get("TESTPAPER_ID").toString() | |
351 | + + ","; | |
343 | 352 | data.put("testpaper_id", list.get(i).get("TESTPAPER_ID")); |
344 | 353 | data.put("student_num", studentlist.size()); |
345 | 354 | data.put("creat_time", list.get(i).get("CREATE_DATE")); |
... | ... | @@ -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 | 391 | data.put("you", you); |
376 | 392 | data.put("liang", liang); |
377 | 393 | data.put("jige", jige); |
... | ... | @@ -379,6 +395,22 @@ public class PaperController extends BaseController { |
379 | 395 | |
380 | 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 | 416 | Map<String, Object> dataMap = new HashMap<String, Object>(); |
... | ... | @@ -399,46 +431,82 @@ public class PaperController extends BaseController { |
399 | 431 | dataMap.put("titles", titles); |
400 | 432 | List<PageData> varOList = templist; |
401 | 433 | List<PageData> varList = new ArrayList<PageData>(); |
402 | - DecimalFormat decimalFormat = new DecimalFormat("0.00"); | |
434 | +// DecimalFormat decimalFormat = new DecimalFormat("0.00"); | |
403 | 435 | for (int i = 0; i < varOList.size(); i++) { |
404 | 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 | 511 | dataMap.put("varList", varList); |
444 | 512 | ObjectExcelView erv = new ObjectExcelView(); | ... | ... |
src/com/fh/controller/sunvote/report/ReportController.java
... | ... | @@ -734,9 +734,10 @@ public class ReportController extends BaseController { |
734 | 734 | vpd.put("var"+(j+4), testpaperList.get(j).getString("TOTAL_SCORE")); |
735 | 735 | else if(x==1) |
736 | 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 | 741 | }else{ |
741 | 742 | vpd.put("var"+(j+4), studentList.get(x-3).getString(testpaperList.get(j).getString("TESTPAPER_ID"))); |
742 | 743 | } | ... | ... |