Commit 78353cf9a21c8c7cc61545144bea9a03dc8eaad4
1 parent
8791e5b3
1.增加老师端可以看到年级卷
2.考试情况中显示出班级所有学生 3.年级分析报表中增加班级筛选
Showing
12 changed files
with
125 additions
and
27 deletions
WebRoot/WEB-INF/jsp/sunvote/paper/paper_list2.jsp
| ... | ... | @@ -33,8 +33,7 @@ |
| 33 | 33 | <![endif]--> |
| 34 | 34 | </head> |
| 35 | 35 | <body> |
| 36 | - | |
| 37 | - <form action="../paper/list2.do" method="post" name="Form" id="Form"> | |
| 36 | + <form action="../paper/list2.do?SCHOOL_ID=${pd.SCHOOL_ID }" method="post" name="Form" id="Form"> | |
| 38 | 37 | <div class="head_box"> |
| 39 | 38 | <div class="box_header"> |
| 40 | 39 | <div class="head_box_l"> |
| ... | ... | @@ -58,9 +57,7 @@ |
| 58 | 57 | <col style="width: 10%" /> |
| 59 | 58 | <col style="width: 10%" /> |
| 60 | 59 | <col style="width: 10%" /> |
| 61 | - <col style="width: 10%" /> | |
| 62 | - <col style="width: 10%" /> | |
| 63 | - <col style="width: 10%" /> | |
| 60 | + <col style="width: 17%" /> | |
| 64 | 61 | <thead> |
| 65 | 62 | <tr> |
| 66 | 63 | <th><input type="checkbox" name='ids' id="ids" />序号</th> |
| ... | ... | @@ -84,23 +81,24 @@ |
| 84 | 81 | <col style="width: 10%" /> |
| 85 | 82 | <col style="width: 10%" /> |
| 86 | 83 | <col style="width: 10%" /> |
| 87 | - <col style="width: 10%" /> | |
| 88 | - <col style="width: 10%" /> | |
| 89 | - <col style="width: 10%" /> | |
| 84 | + <col style="width: 17%" /> | |
| 90 | 85 | <tbody> |
| 91 | 86 | <c:choose> |
| 92 | 87 | <c:when test="${not empty varList}"> |
| 93 | 88 | <c:forEach items="${varList}" var="var" varStatus="vs"> |
| 94 | 89 | <tr> |
| 95 | 90 | <td><input type="checkbox" name='ids' id="ids" value="${var.PAPER_ID}"/>${vs.index+1}</td> |
| 96 | - <td ><a target="_blank" href="<%=basePath%>paper/iteminfo.do?paper_id=${var.PAPER_ID}">${var.TITLE}</a></td> | |
| 91 | + <td ><a target="_blank" style="display: inline-block;width: 100px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap" href="<%=basePath%>paper/iteminfo.do?paper_id=${var.PAPER_ID}" title="${var.TITLE}">${var.TITLE}</a></td> | |
| 97 | 92 | <td >${var.CREATE_DATE}</td> |
| 98 | 93 | <td >${var.EXAM_TIME}</td> |
| 99 | 94 | <td >${var.TEST_NUM}</td> |
| 100 | 95 | <td >${var.SCORE}</td> |
| 101 | 96 | <td> |
| 102 | 97 | <a <c:if test="${var.TEST_NUM == 0}" >disabled style="pointer-events:none;color:#ccc" </c:if> href="<%=basePath%>paper/paperRep.do?paper_id=${var.PAPER_ID}">查看成绩</a> |
| 103 | - <a href="#" onclick="del('${var.PAPER_ID}');"><img src="../static/images/remove.png" /></a> | |
| 98 | + <c:if test="${var.PAPER_TYPE ==2 }"> | |
| 99 | + <a <c:if test="${var.TEST_NUM == 0}" >disabled style="pointer-events:none;color:#ccc" </c:if> href="<%=basePath%>paper/paperRep3.do?MB1=${pd.MB1 }&PAPER_ID=${var.PAPER_ID}">年级分析</a> | |
| 100 | + </c:if> | |
| 101 | + <a href="#" onclick="del('${var.PAPER_ID}');" style="float:right"><img src="../static/images/remove.png" /></a> | |
| 104 | 102 | </td> |
| 105 | 103 | </tr> |
| 106 | 104 | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/paper/paper_list5.jsp
| ... | ... | @@ -108,7 +108,7 @@ |
| 108 | 108 | <td >${var.SCORE}</td> |
| 109 | 109 | <td> |
| 110 | 110 | <a <c:if test="${var.TEST_NUM == 0}" >disabled style="pointer-events:none;color:#ccc" </c:if> href="<%=basePath%>paper/paperRep.do?MB1=nj&paper_id=${var.PAPER_ID}">查看成绩</a> |
| 111 | - <a href="<%=basePath%>paper/paperRep3.do?MB1=${pd.MB1 }&PAPER_ID=${var.PAPER_ID}">年级分析</a> | |
| 111 | + <a <c:if test="${var.TEST_NUM == 0}" >disabled style="pointer-events:none;color:#ccc" </c:if> href="<%=basePath%>paper/paperRep3.do?MB1=${pd.MB1 }&PAPER_ID=${var.PAPER_ID}">年级分析</a> | |
| 112 | 112 | <a href="#" onclick="del('${var.PAPER_ID}');"><img src="../static/images/remove.png" /></a> |
| 113 | 113 | </td> |
| 114 | 114 | </tr> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/paper/test_list3.jsp
| ... | ... | @@ -37,7 +37,7 @@ |
| 37 | 37 | </head> |
| 38 | 38 | <body> |
| 39 | 39 | |
| 40 | - <form action="../paper/list4.do" method="post" name="Form" id="Form"> | |
| 40 | + <form action="../paper/paperRep3.do" method="post" name="Form" id="Form"> | |
| 41 | 41 | <div class="head_box"> |
| 42 | 42 | <div class="box_header"> |
| 43 | 43 | <div class="head_box_l"> |
| ... | ... | @@ -57,13 +57,24 @@ |
| 57 | 57 | </div> |
| 58 | 58 | <div class="table_box" style="padding:0 5%;background:#fff;"> |
| 59 | 59 | <div style="padding:15px 0;background:#fff;" class="paper_title"> |
| 60 | - | |
| 60 | + <input type="hidden" name="PAPER_ID" id="PAPER_ID" valu="${pd.PAPER_ID }" /> | |
| 61 | 61 | ${pd.MB1=="nj"?"年级卷":"个人卷"} > 班级对比 > 答题分析 |
| 62 | 62 | <br/> |
| 63 | 63 | <br/> |
| 64 | 64 | <br/> |
| 65 | 65 | |
| 66 | - <b>试卷名称:</b>${pd.PAPER_NAME} | |
| 66 | + <b>试卷名称:</b>${pd.PAPER_NAME} | |
| 67 | + <div style="float:right"> | |
| 68 | + <b>班级名称:</b> | |
| 69 | + <select class="chosen-select form-control" style="width:120px; display:inline-block" name="CLASS_ID" id="CLASS_ID" data-placeholder="选择班级"> | |
| 70 | + <option value="">全部</option> | |
| 71 | + <c:forEach var="item" items="${sclass}"> | |
| 72 | + <option value="${item.CLASS_ID}" <c:if test="${pd.CLASS_ID==item.CLASS_ID}">selected="true"</c:if>>${item.CLASS_NAME}</option> | |
| 73 | + </c:forEach> | |
| 74 | + </select> | |
| 75 | + <a href="#" onclick="tosearch();"><img | |
| 76 | + src="../static/images/search.png" /></a> | |
| 77 | + </div> | |
| 67 | 78 | <br> |
| 68 | 79 | <br> |
| 69 | 80 | <b>试卷总分:</b>${pd.SCORE} |
| ... | ... | @@ -161,14 +172,15 @@ |
| 161 | 172 | removeOriginal: true |
| 162 | 173 | }; |
| 163 | 174 | |
| 164 | - $("#simple-table").tablescroller(options); | |
| 175 | + //$("#simple-table").tablescroller(options); | |
| 165 | 176 | }); |
| 166 | 177 | |
| 167 | 178 | |
| 168 | 179 | |
| 169 | 180 | function tosearch(){ |
| 170 | 181 | window.top.loading.remove(); |
| 171 | - $("#Form").submit(); | |
| 182 | + location.href="<%=basePath%>paper/paperRep3.do?PAPER_ID=${pd.PAPER_ID}&CLASS_ID="+$("#CLASS_ID option:selected").val(); | |
| 183 | + //$("#Form").submit(); | |
| 172 | 184 | } |
| 173 | 185 | |
| 174 | 186 | $('#ids').on('click', function(){ |
| ... | ... | @@ -243,7 +255,7 @@ |
| 243 | 255 | window.top.remove.show(); |
| 244 | 256 | } |
| 245 | 257 | function export3(){ |
| 246 | - window.open("<%=basePath%>paper/export3?PAPER_ID=${pd.PAPER_ID}","_blank"); | |
| 258 | + window.open('<%=basePath%>paper/export3?PAPER_ID=${pd.PAPER_ID}&CLASS_ID='+$("#CLASS_ID option:selected").val(),"_blank"); | |
| 247 | 259 | } |
| 248 | 260 | |
| 249 | 261 | </script> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_main.jsp
| ... | ... | @@ -269,7 +269,7 @@ |
| 269 | 269 | }); |
| 270 | 270 | |
| 271 | 271 | $("#qingsongkao_paper").click(function() { |
| 272 | - var path = "../paper/list2.do?"; | |
| 272 | + var path = "../paper/list2.do?SCHOOL_ID=${pd.TEACHER.SCHOOL_ID}"; | |
| 273 | 273 | //$(".content_r").html('<iframe name="mainFrame" id="mainFrame" frameborder="0" style="width:100%;height:'+$(".content_l").height()+'px;" src=' + path + '></iframe>'); |
| 274 | 274 | if ($("#mainFrame").attr('src') != (path)) { |
| 275 | 275 | $("#mainFrame").attr('src', path); |
| ... | ... | @@ -285,7 +285,7 @@ |
| 285 | 285 | //} |
| 286 | 286 | }); |
| 287 | 287 | |
| 288 | - var defaultUrl = '${pd.DEFAULTURL}'; | |
| 288 | + var defaultUrl = '${pd.DEFAULTURL}?SCHOOL_ID=${pd.TEACHER.SCHOOL_ID}'; | |
| 289 | 289 | if (defaultUrl != '' && defaultUrl != '') { |
| 290 | 290 | $("#mainFrame").attr('src', defaultUrl); |
| 291 | 291 | } | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp
| ... | ... | @@ -126,13 +126,29 @@ |
| 126 | 126 | ${var.NAME} |
| 127 | 127 | </div> |
| 128 | 128 | </td> |
| 129 | - <td class="center"><div style="width:150px;"><fmt:formatNumber type="number" | |
| 129 | + <td class="center"><div style="width:150px;"> | |
| 130 | + <c:if test="${not empty var.GETSCORE}"> | |
| 131 | + <fmt:formatNumber type="number" | |
| 130 | 132 | value="${var.TOTALSCORE == 0 ? 0: (var.GETSCORE / var.TOTALSCORE * 100)}" |
| 131 | - maxFractionDigits="2" />%</div></td> | |
| 132 | - <td class="center"><div style="width:80px;margin:0 auto;">${var.GETSCORE }</div></td> | |
| 133 | + maxFractionDigits="2" />% | |
| 134 | + </c:if> | |
| 135 | + <c:if test="${empty var.GETSCORE }">--</c:if> | |
| 136 | + </div></td> | |
| 137 | + <td class="center"><div style="width:80px;margin:0 auto;"> | |
| 138 | + <c:if test="${not empty var.GETSCORE}"> | |
| 139 | + ${var.GETSCORE } | |
| 140 | + </c:if> | |
| 141 | + <c:if test="${empty var.GETSCORE}"> | |
| 142 | + -- | |
| 143 | + </c:if> | |
| 144 | + </div></td> | |
| 133 | 145 | <c:forEach items="${testpaperList}" var="var1" varStatus="vs1"> |
| 134 | 146 | <td class="center"><div style="width:180px;margin:0 auto;"><c:set var="TEST_ID" |
| 135 | - value="${var1.TESTPAPER_ID}" /> ${var[TEST_ID] }</div></td> | |
| 147 | + value="${var1.TESTPAPER_ID}" /> | |
| 148 | + | |
| 149 | + ${empty var[TEST_ID]?"--":var[TEST_ID]} | |
| 150 | + | |
| 151 | + </div></td> | |
| 136 | 152 | </c:forEach> |
| 137 | 153 | </tr> |
| 138 | 154 | </c:forEach> | ... | ... |
WebRoot/static/js/control_template.js
| ... | ... | @@ -202,8 +202,11 @@ $(function() { |
| 202 | 202 | score: $(".section").eq(i).attr("data-fraction") |
| 203 | 203 | }; |
| 204 | 204 | } |
| 205 | + self.location.href = URL + JSON.stringify(content) + "&page_score=" + total_score; | |
| 206 | + } | |
| 207 | + else{ | |
| 208 | + alert("模板内容不能为空"); | |
| 205 | 209 | } |
| 206 | - self.location.href = URL + JSON.stringify(content) + "&page_score=" + total_score; | |
| 207 | 210 | }); |
| 208 | 211 | |
| 209 | 212 | /* ajax封装函数 */ | ... | ... |
resources/mybatis1/sunvote/PaperMapper.xml
| ... | ... | @@ -249,6 +249,29 @@ |
| 249 | 249 | </choose> |
| 250 | 250 | </select> |
| 251 | 251 | |
| 252 | + <!-- 查找指定老师卷和年级卷 --> | |
| 253 | + <select id="listAllBySidAndTid" parameterType="pd" resultType="pd"> | |
| 254 | + select | |
| 255 | + <include refid="Field"></include> | |
| 256 | + from | |
| 257 | + <include refid="tableName"></include> | |
| 258 | + where 1 = 1 | |
| 259 | + AND | |
| 260 | + (SCHOOL_ID = #{SCHOOL_ID} AND PAPER_TYPE = '2') OR | |
| 261 | + (USER_ID = #{USER_ID} AND PAPER_TYPE = #{PAPER_TYPE}) | |
| 262 | + | |
| 263 | + order by CREATE_DATE DESC | |
| 264 | + | |
| 265 | + <choose> | |
| 266 | + <when test="CURRENTPAGE != null and CURRENTPAGE != '' and SHOWCOUNT != null and SHOWCOUNT != ''"> | |
| 267 | + limit ${CURRENTPAGE}, ${SHOWCOUNT} | |
| 268 | + </when> | |
| 269 | + <otherwise> | |
| 270 | + limit 0,30 | |
| 271 | + </otherwise> | |
| 272 | + </choose> | |
| 273 | + </select> | |
| 274 | + | |
| 252 | 275 | <!-- 批量删除 --> |
| 253 | 276 | <delete id="deleteAll" parameterType="String"> |
| 254 | 277 | delete from | ... | ... |
resources/mybatis1/sunvote/StudentTestMapper.xml
| ... | ... | @@ -108,6 +108,9 @@ |
| 108 | 108 | LEFT JOIN sv_student on sv_studenttest.STUDENT_ID = sv_student.ID |
| 109 | 109 | where |
| 110 | 110 | sv_studenttest.PAPER_ID = #{PAPER_ID} |
| 111 | + <if test="CLASS_ID != null and CLASS_ID != ''"> | |
| 112 | + and sv_studenttest.CLASS_ID=#{CLASS_ID} | |
| 113 | + </if> | |
| 111 | 114 | </select> |
| 112 | 115 | |
| 113 | 116 | <!-- 列表 --> | ... | ... |
src/com/fh/controller/sunvote/paper/PaperController.java
| ... | ... | @@ -734,7 +734,9 @@ public class PaperController extends BaseController { |
| 734 | 734 | public ModelAndView paperRep3() throws Exception { |
| 735 | 735 | ModelAndView mv = this.getModelAndView(); |
| 736 | 736 | PageData pd = new PageData(); |
| 737 | + pd=this.getPageData(); | |
| 737 | 738 | List<PageData> temp = new ArrayList<PageData>(); |
| 739 | + List<PageData> sclass_list = new ArrayList<PageData>(); | |
| 738 | 740 | PageData saveData = new PageData(); |
| 739 | 741 | |
| 740 | 742 | ResponseGson<PageData> res = new ResponseGson(); |
| ... | ... | @@ -750,9 +752,13 @@ public class PaperController extends BaseController { |
| 750 | 752 | List<String> sid = new ArrayList<String>(); |
| 751 | 753 | Integer test_num = 0; |
| 752 | 754 | Integer lost_num = 0; |
| 755 | + List<String> classId = new ArrayList(); | |
| 756 | + PageData sclass = new PageData(); | |
| 753 | 757 | for (PageData item : list) { |
| 754 | 758 | |
| 755 | 759 | PageData p = new PageData(); |
| 760 | + | |
| 761 | + | |
| 756 | 762 | p.put("ID", item.getString("STUDENT_ID")); |
| 757 | 763 | PageData student = stundentService.findById(p); |
| 758 | 764 | if (student != null) { |
| ... | ... | @@ -793,6 +799,13 @@ public class PaperController extends BaseController { |
| 793 | 799 | PageData stu = new PageData(); |
| 794 | 800 | stu.put("STUDENT_NAME", item.get("STUDENT_NAME")); |
| 795 | 801 | stu.put("CLASS_NAME", item.get("CLASS_NAME")); |
| 802 | + if(!classId.contains(item.getString("CLASS_ID"))){ | |
| 803 | + classId.add(item.getString("CLASS_ID")); | |
| 804 | + sclass.put("CLASS_ID", item.get("CLASS_ID")); | |
| 805 | + sclass.put("CLASS_NAME", item.get("CLASS_NAME")); | |
| 806 | + sclass_list.add(sclass); | |
| 807 | + } | |
| 808 | + | |
| 796 | 809 | List<PageData> testList = new ArrayList<PageData>(); |
| 797 | 810 | PageData test = new PageData(); |
| 798 | 811 | test.put("CREATE_DATE", item.get("CREATE_DATE")); |
| ... | ... | @@ -810,6 +823,7 @@ public class PaperController extends BaseController { |
| 810 | 823 | stu.put("LOST_NUM", lost_num); |
| 811 | 824 | sid.add(item.getString("STUDENT_ID")); |
| 812 | 825 | temp.add(stu); |
| 826 | + | |
| 813 | 827 | } |
| 814 | 828 | } |
| 815 | 829 | } |
| ... | ... | @@ -829,7 +843,9 @@ public class PaperController extends BaseController { |
| 829 | 843 | } |
| 830 | 844 | |
| 831 | 845 | }); |
| 846 | + | |
| 832 | 847 | mv.setViewName("sunvote/paper/test_list3"); |
| 848 | + mv.addObject("sclass", sclass_list); | |
| 833 | 849 | mv.addObject("varList", temp); |
| 834 | 850 | mv.addObject("pd", pd); |
| 835 | 851 | res.setData(saveData); |
| ... | ... | @@ -1171,7 +1187,7 @@ public class PaperController extends BaseController { |
| 1171 | 1187 | pd.put("USER_ID", userID); |
| 1172 | 1188 | pd.put("PAPER_TYPE", "1"); |
| 1173 | 1189 | page.setPd(pd); |
| 1174 | - List<PageData> varList = paperService.list(page); // 列出Paper列表 | |
| 1190 | + List<PageData> varList = paperService.listAllBySidAndTid(pd); // 列出Paper列表 | |
| 1175 | 1191 | page.setLangIsChina(isChineseLanguageClient()); |
| 1176 | 1192 | if (isChineseLanguageClient()) { |
| 1177 | 1193 | mv.setViewName("sunvote/paper/paper_list2"); | ... | ... |
src/com/fh/controller/sunvote/report/ReportController.java
| ... | ... | @@ -90,6 +90,7 @@ public class ReportController extends BaseController { |
| 90 | 90 | List<PageData> reportData = v1Service.classReport(pd); |
| 91 | 91 | List<PageData> testpaperList = new ArrayList(); |
| 92 | 92 | List<PageData> studentList = new ArrayList(); |
| 93 | + List<String> studentId = new ArrayList(); | |
| 93 | 94 | PageData studentPd = null; |
| 94 | 95 | double totalScore = 0 ; |
| 95 | 96 | double getScore = 0 ; |
| ... | ... | @@ -128,6 +129,7 @@ public class ReportController extends BaseController { |
| 128 | 129 | studentPd.put("TOTALSCORE", totalScore); |
| 129 | 130 | studentPd.put("GETSCORE", getScore); |
| 130 | 131 | studentList.add(studentPd); |
| 132 | + studentId.add(studentPd.getString("STUDENT_ID")); | |
| 131 | 133 | totalScore = 0 ; |
| 132 | 134 | getScore = 0 ; |
| 133 | 135 | } |
| ... | ... | @@ -173,6 +175,7 @@ public class ReportController extends BaseController { |
| 173 | 175 | studentPd.put("TOTALSCORE", totalScore); |
| 174 | 176 | studentPd.put("GETSCORE", getScore); |
| 175 | 177 | studentList.add(studentPd); |
| 178 | + studentId.add(studentPd.getString("STUDENT_ID")); | |
| 176 | 179 | totalScore = 0 ; |
| 177 | 180 | getScore = 0 ; |
| 178 | 181 | } |
| ... | ... | @@ -190,7 +193,14 @@ public class ReportController extends BaseController { |
| 190 | 193 | |
| 191 | 194 | mv.addObject("testpaperList", testpaperList); |
| 192 | 195 | info.put("testsize", testpaperList != null ? testpaperList.size() : 0); |
| 193 | - | |
| 196 | + List<PageData> student_class = studentService.findByClassId(pd); | |
| 197 | + for(int x = 0;x<student_class.size();x++){ | |
| 198 | + if(studentId.contains(student_class.get(x).getString("ID"))){ | |
| 199 | + continue; | |
| 200 | + }else{ | |
| 201 | + studentList.add(student_class.get(x)); | |
| 202 | + } | |
| 203 | + } | |
| 194 | 204 | mv.addObject("studentList", studentList); |
| 195 | 205 | info.put("STUDENT_NUM", studentList != null ? studentList.size() : 0); |
| 196 | 206 | mv.addObject("info", info); | ... | ... |
src/com/fh/service/sunvote/paper/PaperManager.java
src/com/fh/service/sunvote/paper/impl/PaperService.java
| 1 | 1 | package com.fh.service.sunvote.paper.impl; |
| 2 | 2 | |
| 3 | 3 | import java.util.List; |
| 4 | + | |
| 4 | 5 | import javax.annotation.Resource; |
| 6 | + | |
| 5 | 7 | import org.springframework.stereotype.Service; |
| 8 | + | |
| 6 | 9 | import com.fh.dao.DaoSupport; |
| 7 | 10 | import com.fh.entity.Page; |
| 8 | -import com.fh.util.PageData; | |
| 9 | 11 | import com.fh.service.sunvote.paper.PaperManager; |
| 12 | +import com.fh.util.PageData; | |
| 10 | 13 | |
| 11 | 14 | /** |
| 12 | 15 | * 说明: 试卷 |
| ... | ... | @@ -70,6 +73,17 @@ public class PaperService implements PaperManager{ |
| 70 | 73 | return (List<PageData>)dao.findForList("PaperMapper.listAllByTypelistPage", pd);//.*listPage.* |
| 71 | 74 | } |
| 72 | 75 | |
| 76 | + | |
| 77 | + /**列表(全部) | |
| 78 | + * @param pd | |
| 79 | + * @throws Exception | |
| 80 | + */ | |
| 81 | + @SuppressWarnings("unchecked") | |
| 82 | + public List<PageData> listAllBySidAndTid(PageData pd)throws Exception{ | |
| 83 | + return (List<PageData>)dao.findForList("PaperMapper.listAllBySidAndTid", pd);//.*listPage.* | |
| 84 | + } | |
| 85 | + | |
| 86 | + | |
| 73 | 87 | /**列表(全部) |
| 74 | 88 | * @param pd |
| 75 | 89 | * @throws Exception | ... | ... |