Commit 1f0490aaaad47b51882981b2e5afce7eb2d5aaaa

Authored by jack
1 parent 8cc83820

1.考试情况报表样式

2.测验导出增加班级平均行
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 }
... ...