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 | } | ... | ... |