Commit a764d28891dfae23690b8728890d7ed7a7aa8d11

Authored by 孙向锦
1 parent b3c44d84

修改课后练bug

WebRoot/WEB-INF/jsp/sunvote/homework/homework_item_report.jsp
... ... @@ -64,8 +64,8 @@
64 64 <th class="center"><div style="width:109px;">键盘</div></th>
65 65 <th class="center"><div style="width:80px;">正确率</div></th>
66 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 69 <th class="center th_w"><div style="width:80px;margin:0 auto;">题目${vs.index+1}</div></th>
70 70 </c:forEach>
71 71  
... ... @@ -84,9 +84,10 @@
84 84 <td class="center"><div style="width:80px;">${var.KEYPAD_ID}</div></td>
85 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 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 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 92 </c:forEach>
92 93  
... ...
WebRoot/WEB-INF/jsp/sunvote/homework/homework_list.jsp
... ... @@ -120,7 +120,7 @@
120 120 </tbody>
121 121 </table>
122 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 124 <input type="button" onclick="add('${pd.TEACHER_ID}')" value="布置练习" />
125 125 </div>
126 126 <div class="removeAll">
... ...
WebRoot/WEB-INF/jsp/sunvote/homework/homework_view.jsp
... ... @@ -138,7 +138,7 @@
138 138 </div>
139 139 <hr />
140 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 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 48 </div>
49 49 <div class="name">
50 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 53 </div>
54 54 </div>
55   - <div class="class tab1">
  55 + <br /> <br /> <br />
  56 +
  57 + <%-- <div class="class tab1">
56 58 <p>
57 59 Classes<span class="right jiao"></span>
58 60 </p>
... ... @@ -61,49 +63,51 @@
61 63 <li onclick="event.stopPropagation();chooseClass('${var.CLASS_ID}','${var.TERM_ID}')"><p>${var.CLASS_NAME}
62 64 <span>${var.SUBJECT_ENAME}</span></p>
63 65 </li>
64   - </c:forEach>
  66 + </c:forEach>
65 67  
66 68 </ul>
67   - </div>
  69 + </div> --%>
68 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 72 <ul class="menu_1">
71 73 <li >
72   - <p id="qingsongkao_paper">E-exam Papers</p>
  74 + <p id="qingsongkao_paper">Papers</p>
73 75 <!-- <ul class="menu_2">
74 76 <li><p>高一数学 202班</p></li>
75 77 <li><p>高一数学 203班</p></li>
76 78 </ul> -->
77 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 88 </li>
  89 +
86 90 </ul>
87 91  
88 92 </div>
89 93 <div class="analyse tab1">
90 94 <p>
91   - Result Analysis<span class="right jiao"></span>
  95 + E-class<span class="right jiao"></span>
92 96 </p>
93 97  
94 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 106 </li>
103 107 <li>
104   - <p>E-class Tests</p>
  108 + <p>Tests</p>
105 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 111 <li onclick="event.stopPropagation();report2('${var.CLASS_ID}')"><p>Result of ${var.CLASS_NAME}</p></li>
108 112 </c:forEach>
109 113 </ul>
... ...
resources/mybatis1/api/V1Mapper.xml
... ... @@ -298,7 +298,6 @@
298 298 (sv_student.NUMBER * 1),
299 299 sv_studenttest.STUDENT_ID,
300 300 sv_testpaper.CREATE_DATE
301   - limit 0,20
302 301 </select>
303 302  
304 303  
... ...
resources/mybatis1/sunvote/HomeworkMapper.xml
... ... @@ -266,6 +266,10 @@
266 266 ALL_SCORE,
267 267 QUESTION_COUNT,
268 268 COMPLETE_DESC,
  269 + ANSWER_PERSENT,
  270 + GET_MAX_SCORE,
  271 + GET_SCORE,
  272 + GET_SCORE_PERSENT,
269 273 HOMEWORK_ID
270 274 from
271 275 <include refid="tableName"></include>
... ...
resources/mybatis1/sunvote/HomeworkReportMapper.xml
... ... @@ -12,6 +12,7 @@
12 12 HOMEWORK_REPORT_ID,
13 13 RANK,
14 14 STUDENT_NAME,
  15 + STUDENT_ID,
15 16 STUDNET_NO,
16 17 KEYBOARD,
17 18 RIGHT_PERSENT,
... ... @@ -26,6 +27,7 @@
26 27 #{HOMEWORK_REPORT_ID},
27 28 #{RANK},
28 29 #{STUDENT_NAME},
  30 + #{STUDENT_ID},
29 31 #{STUDNET_NO},
30 32 #{KEYBOARD},
31 33 #{RIGHT_PERSENT},
... ... @@ -61,6 +63,7 @@
61 63 set
62 64 RANK = #{RANK},
63 65 STUDENT_NAME = #{STUDENT_NAME},
  66 + STUDENT_ID = #{STUDENT_ID},
64 67 STUDNET_NO = #{STUDNET_NO},
65 68 KEYBOARD = #{KEYBOARD},
66 69 RIGHT_PERSENT = #{RIGHT_PERSENT},
... ... @@ -78,6 +81,7 @@
78 81 set
79 82 RANK = #{RANK},
80 83 STUDENT_NAME = #{STUDENT_NAME},
  84 + STUDENT_ID = #{STUDENT_ID},
81 85 STUDNET_NO = #{STUDNET_NO},
82 86 KEYBOARD = #{KEYBOARD},
83 87 RIGHT_PERSENT = #{RIGHT_PERSENT},
... ... @@ -85,9 +89,9 @@
85 89 ANSWER = #{ANSWER},
86 90 HOMEWORK_ID = #{HOMEWORK_ID}
87 91 where
  92 + STUDENT_ID = #{STUDENT_ID}
  93 + and
88 94 HOMEWORK_ID = #{HOMEWORK_ID}
89   - and
90   - STUDNET_NO = #{STUDNET_NO}
91 95 </update>
92 96  
93 97 <!-- 通过ID获取数据 -->
... ... @@ -164,13 +168,14 @@
164 168 #{item.HOMEWORK_REPORT_ID},
165 169 #{item.RANK},
166 170 #{item.STUDENT_NAME},
  171 + #{item.STUDENT_ID},
167 172 #{item.STUDNET_NO},
168 173 #{item.KEYBOARD},
169 174 #{item.RIGHT_PERSENT},
170 175 #{item.GET_SCORE},
171 176 #{item.ANSWER},
  177 + #{item.COMPLETE_COUNT},
172 178 #{item.HOMEWORK_ID}
173   - #{item.COMPLETE_COUNT}
174 179 )
175 180 </foreach>
176 181 </insert>
... ...
src/com/fh/controller/api/V1.java
... ... @@ -2908,9 +2908,10 @@ public class V1 extends BaseController {
2908 2908 // 1. 根据班级id 查询班级学生列表
2909 2909 List<PageData> student = studentService.findByClassId(homePd);
2910 2910 for(PageData ptd : student){
  2911 + ptd.put("STUDENT_ID", ptd.get("ID"));
2911 2912 ptd.put("STUDENT_NAME", ptd.get("NAME"));
2912 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 2915 ptd.put("RANK", student.size() + "");
2915 2916 ptd.put("KEYBOARD", ptd.get("KEYPAD_ID"));
2916 2917 ptd.put("RIGHT_PERSENT", "0%");
... ...
src/com/fh/controller/sunvote/homework/HomeworkController.java
... ... @@ -5,6 +5,8 @@ import java.text.DateFormat;
5 5 import java.text.SimpleDateFormat;
6 6 import java.util.ArrayList;
7 7 import java.util.Calendar;
  8 +import java.util.Collections;
  9 +import java.util.Comparator;
8 10 import java.util.Date;
9 11 import java.util.HashMap;
10 12 import java.util.List;
... ... @@ -369,6 +371,7 @@ public class HomeworkController extends BaseController {
369 371 stuPd.put("STUDENT_ID", stuPd.get("ID"));
370 372 stuPd.remove("ID");
371 373 }
  374 +
372 375 for (PageData hpd : homeworkList) {
373 376 hpd.remove("QUESTION_COUNT");
374 377 hpd.remove("COMPLETE_COUNT");
... ... @@ -504,6 +507,55 @@ public class HomeworkController extends BaseController {
504 507 }
505 508 if(pd.get("HOMEWORK_ID") != null){
506 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 559 pd.put("DATA", dataList);
508 560 }
509 561 if(pd.get("CLASS_ID") != null){
... ...