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