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){ |