Commit a764d28891dfae23690b8728890d7ed7a7aa8d11

Authored by 孙向锦
1 parent b3c44d84

修改课后练bug

WebRoot/WEB-INF/jsp/sunvote/homework/homework_item_report.jsp
@@ -64,8 +64,8 @@ @@ -64,8 +64,8 @@
64 <th class="center"><div style="width:109px;">键盘</div></th> 64 <th class="center"><div style="width:109px;">键盘</div></th>
65 <th class="center"><div style="width:80px;">正确率</div></th> 65 <th class="center"><div style="width:80px;">正确率</div></th>
66 <th class="center"><div style="width:80px;">得分</div></th> 66 <th class="center"><div style="width:80px;">得分</div></th>
67 - <c:set value="${ fn:split(pd.DATA[0].ANSWER, ';') }" var="ANSWER" />  
68 - <c:forEach items="${ANSWER}" var="var" varStatus="vs"> 67 + <c:set value="${ fn:split(pd.HOMEWORKINFO.ANSWER_PERSENT, ',') }" var="AN" />
  68 + <c:forEach items="${AN}" var="var" varStatus="vs">
69 <th class="center th_w"><div style="width:80px;margin:0 auto;">题目${vs.index+1}</div></th> 69 <th class="center th_w"><div style="width:80px;margin:0 auto;">题目${vs.index+1}</div></th>
70 </c:forEach> 70 </c:forEach>
71 71
@@ -84,9 +84,10 @@ @@ -84,9 +84,10 @@
84 <td class="center"><div style="width:80px;">${var.KEYPAD_ID}</div></td> 84 <td class="center"><div style="width:80px;">${var.KEYPAD_ID}</div></td>
85 <td class="center"><div style="width:109px;"><fmt:formatNumber type="number" value="${pd.DATA[vs.index].STUDENT_SCORE/pd.DATA[vs.index].PAPER_SCORE*100}" pattern="0.00"/>%</div></td> 85 <td class="center"><div style="width:109px;"><fmt:formatNumber type="number" value="${pd.DATA[vs.index].STUDENT_SCORE/pd.DATA[vs.index].PAPER_SCORE*100}" pattern="0.00"/>%</div></td>
86 <td class="center"><div style="width:80px;">${pd.DATA[vs.index].STUDENT_SCORE}</div></td> 86 <td class="center"><div style="width:80px;">${pd.DATA[vs.index].STUDENT_SCORE}</div></td>
87 -  
88 - <c:forEach items="${ANSWER}" var="var1" varStatus="vs1">  
89 - <c:set value="${ fn:split(ANSWER[vs1.index], ',') }" var="ANSWER1" /> 87 + <c:set value="${ fn:split(pd.DATA[vs.index].ANSWER, ';') }" var="ANSWER2" />
  88 + <c:set value="${ fn:split(pd.HOMEWORKINFO.ANSWER_PERSENT, ',') }" var="AN" />
  89 + <c:forEach items="${AN}" var="var1" varStatus="vs1">
  90 + <c:set value="${ fn:split(ANSWER2[vs1.index], ',') }" var="ANSWER1" />
90 <td class="center td_w" <c:if test="${ANSWER1[1]== '1'}">style="background:#0bb8b9"</c:if>><div style="width:80px;margin:0 auto;">${ANSWER1[0]==""?"--":ANSWER1[0]}</div></td> 91 <td class="center td_w" <c:if test="${ANSWER1[1]== '1'}">style="background:#0bb8b9"</c:if>><div style="width:80px;margin:0 auto;">${ANSWER1[0]==""?"--":ANSWER1[0]}</div></td>
91 </c:forEach> 92 </c:forEach>
92 93
WebRoot/WEB-INF/jsp/sunvote/homework/homework_list.jsp
@@ -120,7 +120,7 @@ @@ -120,7 +120,7 @@
120 </tbody> 120 </tbody>
121 </table> 121 </table>
122 <div class="footer"> 122 <div class="footer">
123 - <div class="creat"> 123 + <div class="creat" <c:if test="${pd.SCHOOL_ID != '' and pd.SCHOOL_ID != null}">style="display:none;"</c:if>>
124 <input type="button" onclick="add('${pd.TEACHER_ID}')" value="布置练习" /> 124 <input type="button" onclick="add('${pd.TEACHER_ID}')" value="布置练习" />
125 </div> 125 </div>
126 <div class="removeAll"> 126 <div class="removeAll">
WebRoot/WEB-INF/jsp/sunvote/homework/homework_view.jsp
@@ -138,7 +138,7 @@ @@ -138,7 +138,7 @@
138 </div> 138 </div>
139 <hr /> 139 <hr />
140 <div> 140 <div>
141 - <div style="text-align: center;" colspan="10"> 141 + <div style="text-align: center;display:none" colspan="10">
142 142
143 143
144 <a class="btn btn-mini btn-danger" onclick="back();">退出</a> 144 <a class="btn btn-mini btn-danger" onclick="back();">退出</a>
WebRoot/WEB-INF/jsp/sunvote/teacher/en_teacher_main.jsp
@@ -48,11 +48,13 @@ @@ -48,11 +48,13 @@
48 </div> 48 </div>
49 <div class="name"> 49 <div class="name">
50 <p>Welcome!</p> 50 <p>Welcome!</p>
51 - <p id="name">${pd.TEACHER[0].TEACHER_NAME }</p>  
52 - <p id="school">${pd.TEACHER[0].SCHOOL_NAME }</p> 51 + <p id="name">${pd.TEACHER.TNAME }</p>
  52 + <p id="school">${pd.TEACHER.SNAME }</p>
53 </div> 53 </div>
54 </div> 54 </div>
55 - <div class="class tab1"> 55 + <br /> <br /> <br />
  56 +
  57 + <%-- <div class="class tab1">
56 <p> 58 <p>
57 Classes<span class="right jiao"></span> 59 Classes<span class="right jiao"></span>
58 </p> 60 </p>
@@ -61,49 +63,51 @@ @@ -61,49 +63,51 @@
61 <li onclick="event.stopPropagation();chooseClass('${var.CLASS_ID}','${var.TERM_ID}')"><p>${var.CLASS_NAME} 63 <li onclick="event.stopPropagation();chooseClass('${var.CLASS_ID}','${var.TERM_ID}')"><p>${var.CLASS_NAME}
62 <span>${var.SUBJECT_ENAME}</span></p> 64 <span>${var.SUBJECT_ENAME}</span></p>
63 </li> 65 </li>
64 - </c:forEach> 66 + </c:forEach>
65 67
66 </ul> 68 </ul>
67 - </div> 69 + </div> --%>
68 <div class="testpaper tab1"> 70 <div class="testpaper tab1">
69 - <p>Test Papers<span class="right jiao"></span></p> 71 + <p>E-Test<span class="right jiao"></span></p>
70 <ul class="menu_1"> 72 <ul class="menu_1">
71 <li > 73 <li >
72 - <p id="qingsongkao_paper">E-exam Papers</p> 74 + <p id="qingsongkao_paper">Papers</p>
73 <!-- <ul class="menu_2"> 75 <!-- <ul class="menu_2">
74 <li><p>高一数学 202班</p></li> 76 <li><p>高一数学 202班</p></li>
75 <li><p>高一数学 203班</p></li> 77 <li><p>高一数学 203班</p></li>
76 </ul> --> 78 </ul> -->
77 </li> 79 </li>
78 - <li>  
79 - <p id="jishice_paper">E-class Papers</p>  
80 -  
81 - <!-- <ul class="menu_2">  
82 - <li><p>高一数学 202班</p></li>  
83 - <li><p>高一数学 203班</p></li>  
84 - </ul> --> 80 + <li >
  81 + <p>Tests</p>
  82 + <ul class="menu_2">
  83 + <c:forEach items="${pd.CLASSINFO}" var="var" varStatus="vs">
  84 + <li onclick="event.stopPropagation();report('${var.CLASS_ID}')"><p>Result of ${var.CLASS_NAME}
  85 + </p></li>
  86 + </c:forEach>
  87 + </ul>
85 </li> 88 </li>
  89 +
86 </ul> 90 </ul>
87 91
88 </div> 92 </div>
89 <div class="analyse tab1"> 93 <div class="analyse tab1">
90 <p> 94 <p>
91 - Result Analysis<span class="right jiao"></span> 95 + E-class<span class="right jiao"></span>
92 </p> 96 </p>
93 97
94 <ul class="menu_1"> 98 <ul class="menu_1">
95 - <li >  
96 - <p>E-exam Tests</p>  
97 - <ul class="menu_2">  
98 - <c:forEach items="${pd.TEACHER}" var="var" varStatus="vs">  
99 - <li onclick="event.stopPropagation();report('${var.CLASS_ID}')"><p>Result of ${var.CLASS_NAME}</p></li>  
100 - </c:forEach>  
101 - </ul> 99 + <li>
  100 + <p id="jishice_paper">Papers</p>
  101 +
  102 + <!-- <ul class="menu_2">
  103 + <li><p>高一数学 202班</p></li>
  104 + <li><p>高一数学 203班</p></li>
  105 + </ul> -->
102 </li> 106 </li>
103 <li> 107 <li>
104 - <p>E-class Tests</p> 108 + <p>Tests</p>
105 <ul class="menu_2"> 109 <ul class="menu_2">
106 - <c:forEach items="${pd.TEACHER}" var="var" varStatus="vs"> 110 + <c:forEach items="${pd.CLASSINFO}" var="var" varStatus="vs">
107 <li onclick="event.stopPropagation();report2('${var.CLASS_ID}')"><p>Result of ${var.CLASS_NAME}</p></li> 111 <li onclick="event.stopPropagation();report2('${var.CLASS_ID}')"><p>Result of ${var.CLASS_NAME}</p></li>
108 </c:forEach> 112 </c:forEach>
109 </ul> 113 </ul>
resources/mybatis1/api/V1Mapper.xml
@@ -298,7 +298,6 @@ @@ -298,7 +298,6 @@
298 (sv_student.NUMBER * 1), 298 (sv_student.NUMBER * 1),
299 sv_studenttest.STUDENT_ID, 299 sv_studenttest.STUDENT_ID,
300 sv_testpaper.CREATE_DATE 300 sv_testpaper.CREATE_DATE
301 - limit 0,20  
302 </select> 301 </select>
303 302
304 303
resources/mybatis1/sunvote/HomeworkMapper.xml
@@ -266,6 +266,10 @@ @@ -266,6 +266,10 @@
266 ALL_SCORE, 266 ALL_SCORE,
267 QUESTION_COUNT, 267 QUESTION_COUNT,
268 COMPLETE_DESC, 268 COMPLETE_DESC,
  269 + ANSWER_PERSENT,
  270 + GET_MAX_SCORE,
  271 + GET_SCORE,
  272 + GET_SCORE_PERSENT,
269 HOMEWORK_ID 273 HOMEWORK_ID
270 from 274 from
271 <include refid="tableName"></include> 275 <include refid="tableName"></include>
resources/mybatis1/sunvote/HomeworkReportMapper.xml
@@ -12,6 +12,7 @@ @@ -12,6 +12,7 @@
12 HOMEWORK_REPORT_ID, 12 HOMEWORK_REPORT_ID,
13 RANK, 13 RANK,
14 STUDENT_NAME, 14 STUDENT_NAME,
  15 + STUDENT_ID,
15 STUDNET_NO, 16 STUDNET_NO,
16 KEYBOARD, 17 KEYBOARD,
17 RIGHT_PERSENT, 18 RIGHT_PERSENT,
@@ -26,6 +27,7 @@ @@ -26,6 +27,7 @@
26 #{HOMEWORK_REPORT_ID}, 27 #{HOMEWORK_REPORT_ID},
27 #{RANK}, 28 #{RANK},
28 #{STUDENT_NAME}, 29 #{STUDENT_NAME},
  30 + #{STUDENT_ID},
29 #{STUDNET_NO}, 31 #{STUDNET_NO},
30 #{KEYBOARD}, 32 #{KEYBOARD},
31 #{RIGHT_PERSENT}, 33 #{RIGHT_PERSENT},
@@ -61,6 +63,7 @@ @@ -61,6 +63,7 @@
61 set 63 set
62 RANK = #{RANK}, 64 RANK = #{RANK},
63 STUDENT_NAME = #{STUDENT_NAME}, 65 STUDENT_NAME = #{STUDENT_NAME},
  66 + STUDENT_ID = #{STUDENT_ID},
64 STUDNET_NO = #{STUDNET_NO}, 67 STUDNET_NO = #{STUDNET_NO},
65 KEYBOARD = #{KEYBOARD}, 68 KEYBOARD = #{KEYBOARD},
66 RIGHT_PERSENT = #{RIGHT_PERSENT}, 69 RIGHT_PERSENT = #{RIGHT_PERSENT},
@@ -78,6 +81,7 @@ @@ -78,6 +81,7 @@
78 set 81 set
79 RANK = #{RANK}, 82 RANK = #{RANK},
80 STUDENT_NAME = #{STUDENT_NAME}, 83 STUDENT_NAME = #{STUDENT_NAME},
  84 + STUDENT_ID = #{STUDENT_ID},
81 STUDNET_NO = #{STUDNET_NO}, 85 STUDNET_NO = #{STUDNET_NO},
82 KEYBOARD = #{KEYBOARD}, 86 KEYBOARD = #{KEYBOARD},
83 RIGHT_PERSENT = #{RIGHT_PERSENT}, 87 RIGHT_PERSENT = #{RIGHT_PERSENT},
@@ -85,9 +89,9 @@ @@ -85,9 +89,9 @@
85 ANSWER = #{ANSWER}, 89 ANSWER = #{ANSWER},
86 HOMEWORK_ID = #{HOMEWORK_ID} 90 HOMEWORK_ID = #{HOMEWORK_ID}
87 where 91 where
  92 + STUDENT_ID = #{STUDENT_ID}
  93 + and
88 HOMEWORK_ID = #{HOMEWORK_ID} 94 HOMEWORK_ID = #{HOMEWORK_ID}
89 - and  
90 - STUDNET_NO = #{STUDNET_NO}  
91 </update> 95 </update>
92 96
93 <!-- 通过ID获取数据 --> 97 <!-- 通过ID获取数据 -->
@@ -164,13 +168,14 @@ @@ -164,13 +168,14 @@
164 #{item.HOMEWORK_REPORT_ID}, 168 #{item.HOMEWORK_REPORT_ID},
165 #{item.RANK}, 169 #{item.RANK},
166 #{item.STUDENT_NAME}, 170 #{item.STUDENT_NAME},
  171 + #{item.STUDENT_ID},
167 #{item.STUDNET_NO}, 172 #{item.STUDNET_NO},
168 #{item.KEYBOARD}, 173 #{item.KEYBOARD},
169 #{item.RIGHT_PERSENT}, 174 #{item.RIGHT_PERSENT},
170 #{item.GET_SCORE}, 175 #{item.GET_SCORE},
171 #{item.ANSWER}, 176 #{item.ANSWER},
  177 + #{item.COMPLETE_COUNT},
172 #{item.HOMEWORK_ID} 178 #{item.HOMEWORK_ID}
173 - #{item.COMPLETE_COUNT}  
174 ) 179 )
175 </foreach> 180 </foreach>
176 </insert> 181 </insert>
src/com/fh/controller/api/V1.java
@@ -2908,9 +2908,10 @@ public class V1 extends BaseController { @@ -2908,9 +2908,10 @@ public class V1 extends BaseController {
2908 // 1. 根据班级id 查询班级学生列表 2908 // 1. 根据班级id 查询班级学生列表
2909 List<PageData> student = studentService.findByClassId(homePd); 2909 List<PageData> student = studentService.findByClassId(homePd);
2910 for(PageData ptd : student){ 2910 for(PageData ptd : student){
  2911 + ptd.put("STUDENT_ID", ptd.get("ID"));
2911 ptd.put("STUDENT_NAME", ptd.get("NAME")); 2912 ptd.put("STUDENT_NAME", ptd.get("NAME"));
2912 ptd.put("HOMEWORK_REPORT_ID", this.get32UUID()); 2913 ptd.put("HOMEWORK_REPORT_ID", this.get32UUID());
2913 - ptd.put("STUDENT_NO", ptd.get("SNO")); 2914 + ptd.put("STUDENT_NO", ptd.get("NUMBER"));
2914 ptd.put("RANK", student.size() + ""); 2915 ptd.put("RANK", student.size() + "");
2915 ptd.put("KEYBOARD", ptd.get("KEYPAD_ID")); 2916 ptd.put("KEYBOARD", ptd.get("KEYPAD_ID"));
2916 ptd.put("RIGHT_PERSENT", "0%"); 2917 ptd.put("RIGHT_PERSENT", "0%");
src/com/fh/controller/sunvote/homework/HomeworkController.java
@@ -5,6 +5,8 @@ import java.text.DateFormat; @@ -5,6 +5,8 @@ import java.text.DateFormat;
5 import java.text.SimpleDateFormat; 5 import java.text.SimpleDateFormat;
6 import java.util.ArrayList; 6 import java.util.ArrayList;
7 import java.util.Calendar; 7 import java.util.Calendar;
  8 +import java.util.Collections;
  9 +import java.util.Comparator;
8 import java.util.Date; 10 import java.util.Date;
9 import java.util.HashMap; 11 import java.util.HashMap;
10 import java.util.List; 12 import java.util.List;
@@ -369,6 +371,7 @@ public class HomeworkController extends BaseController { @@ -369,6 +371,7 @@ public class HomeworkController extends BaseController {
369 stuPd.put("STUDENT_ID", stuPd.get("ID")); 371 stuPd.put("STUDENT_ID", stuPd.get("ID"));
370 stuPd.remove("ID"); 372 stuPd.remove("ID");
371 } 373 }
  374 +
372 for (PageData hpd : homeworkList) { 375 for (PageData hpd : homeworkList) {
373 hpd.remove("QUESTION_COUNT"); 376 hpd.remove("QUESTION_COUNT");
374 hpd.remove("COMPLETE_COUNT"); 377 hpd.remove("COMPLETE_COUNT");
@@ -504,6 +507,55 @@ public class HomeworkController extends BaseController { @@ -504,6 +507,55 @@ public class HomeworkController extends BaseController {
504 } 507 }
505 if(pd.get("HOMEWORK_ID") != null){ 508 if(pd.get("HOMEWORK_ID") != null){
506 List<PageData> dataList = homeworkService.report(pd); 509 List<PageData> dataList = homeworkService.report(pd);
  510 + Collections.sort(dataList,new Comparator<PageData>(){
  511 +
  512 + @Override
  513 + public int compare(PageData o1, PageData o2) {
  514 + String o1GetScore = o1.getString("STUDENT_SCORE");
  515 + String o2GetScore = o2.getString("STUDENT_SCORE");
  516 + float o1score = 0 ;
  517 + float o2score = 0 ;
  518 + try{
  519 + o1score = Float.parseFloat(o1GetScore);
  520 + }catch(Exception e){
  521 + o1score = -1 ;
  522 + }
  523 + try{
  524 + o2score = Float.parseFloat(o2GetScore);
  525 + }catch(Exception e){
  526 + o2score = -1 ;
  527 + }
  528 + return o1score - o2score > 0 ? -1 : 1;
  529 + }
  530 +
  531 + });
  532 + for(int i = 0 ; i < dataList.size(); i++){
  533 + PageData tpd1 = dataList.get(i);
  534 + if(i == 0){
  535 + tpd1.put("RANK", (i+1));
  536 + }else{
  537 + PageData tpd2 = dataList.get(i-1);
  538 + String o1GetScore = tpd1.getString("STUDENT_SCORE");
  539 + String o2GetScore = tpd2.getString("STUDENT_SCORE");
  540 + float o1score = 0 ;
  541 + float o2score = 0 ;
  542 + try{
  543 + o1score = Float.parseFloat(o1GetScore);
  544 + }catch(Exception e){
  545 + o1score = -1 ;
  546 + }
  547 + try{
  548 + o2score = Float.parseFloat(o2GetScore);
  549 + }catch(Exception e){
  550 + o2score = -1 ;
  551 + }
  552 + if(o2score - o1score == 0){
  553 + tpd1.put("RANK",tpd2.get("RANK"));
  554 + }else{
  555 + tpd1.put("RANK", (i+1));
  556 + }
  557 + }
  558 + }
507 pd.put("DATA", dataList); 559 pd.put("DATA", dataList);
508 } 560 }
509 if(pd.get("CLASS_ID") != null){ 561 if(pd.get("CLASS_ID") != null){