Commit a764d28891dfae23690b8728890d7ed7a7aa8d11
1 parent
b3c44d84
修改课后练bug
Showing
9 changed files
with
102 additions
and
36 deletions
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
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){ |