Commit f143f5583809d0a14a39a5fbb0c4aac489de61d1
1 parent
0deda53b
修改管理员登录白屏问题
教师首页登录,暂时不显示首页内容
Showing
14 changed files
with
242 additions
and
25 deletions
WebRoot/WEB-INF/jsp/sunvote/teacher/paper_view.jsp
... | ... | @@ -55,9 +55,12 @@ |
55 | 55 | <input type="button" value="保存" class="btn btn-primary btn-lg topic save" /> |
56 | 56 | </div> |
57 | 57 | </div> |
58 | + <script> | |
59 | + var subjectId = '${pd.subject_id}'; | |
60 | + </script> | |
58 | 61 | <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> |
59 | 62 | <script src="../static/js/echars.js"></script> |
60 | - <script src="../static/js/paper_view.js"></script> | |
63 | + <script src="../static/js/paper_view.js?a=2"></script> | |
61 | 64 | |
62 | 65 | </html> |
63 | 66 | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/teacher/paper_view1.jsp
... | ... | @@ -143,7 +143,7 @@ |
143 | 143 | <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> |
144 | 144 | <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> |
145 | 145 | <script src="../static/js/echars.js"></script> |
146 | - <script src="../static/js/paper_view1.js?a=2"></script> | |
146 | + <script src="../static/js/paper_view1.js?a=1"></script> | |
147 | 147 | |
148 | 148 | </html> |
149 | 149 | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/teacher/set_question.jsp
... | ... | @@ -97,6 +97,9 @@ |
97 | 97 | </div><!-- /.modal-content --> |
98 | 98 | </div><!-- /.modal-dialog --> |
99 | 99 | </div><!-- /.modal --> |
100 | + <script> | |
101 | + //var subject_id = '${subject_id}' ; | |
102 | + </script> | |
100 | 103 | <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> |
101 | 104 | <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> |
102 | 105 | <script src="../static/js/set_question.js?a=1"></script> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_main.jsp
... | ... | @@ -118,7 +118,7 @@ |
118 | 118 | </div> |
119 | 119 | </div> |
120 | 120 | <div class="content_r"> |
121 | - <iframe name="mainFrame" id="mainFrame" frameborder="0" src="../teacher/index.do?" width="100%" height="100%"></iframe> | |
121 | + <iframe name="mainFrame" id="mainFrame" frameborder="0" width="100%" height="100%"></iframe> | |
122 | 122 | |
123 | 123 | </div> |
124 | 124 | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/teacher/test_list.jsp
... | ... | @@ -49,7 +49,7 @@ |
49 | 49 | <th>测验名称</th> |
50 | 50 | <th>班级</th> |
51 | 51 | <th>创建时间</th> |
52 | - <th>查看</th> | |
52 | + <th>操作</th> | |
53 | 53 | </tr> |
54 | 54 | </thead> |
55 | 55 | </table> |
... | ... | @@ -82,5 +82,5 @@ |
82 | 82 | <script type="text/javascript"> |
83 | 83 | var user_id= "${pd.userId}"; |
84 | 84 | </script> |
85 | - <script src="../static/js/test_list.js?a=2"></script> | |
85 | + <script src="../static/js/test_list.js"></script> | |
86 | 86 | </html> |
87 | 87 | \ No newline at end of file | ... | ... |
WebRoot/WEB-INF/jsp/system/index/left.jsp
... | ... | @@ -125,5 +125,7 @@ |
125 | 125 | <!-- /section:basics/sidebar.layout.minimize --> |
126 | 126 | <script type="text/javascript"> |
127 | 127 | try{ace.settings.check('sidebar' , 'collapsed')}catch(e){} |
128 | + | |
129 | + console.log('${menuList}'); | |
128 | 130 | </script> |
129 | 131 | </div> |
130 | 132 | \ No newline at end of file | ... | ... |
WebRoot/static/js/paper_view.js
... | ... | @@ -18,6 +18,8 @@ function getQueryString(name) { |
18 | 18 | var classId=getQueryString("classId"); |
19 | 19 | var userid=getQueryString("userid"); |
20 | 20 | |
21 | + var gradleId = getQueryString("gradleid"); | |
22 | + | |
21 | 23 | var _html=""; |
22 | 24 | var question_id_arry=""; |
23 | 25 | $(document).ready(function(){ |
... | ... | @@ -155,8 +157,8 @@ function getQueryString(name) { |
155 | 157 | title: $("#paper_title").html(), |
156 | 158 | exam_time: $("#time").html(), |
157 | 159 | paper_type: "101", |
158 | - subject_id: "20", | |
159 | - grade_id: "", | |
160 | + subject_id: subjectId, | |
161 | + grade_id: gradleId, | |
160 | 162 | class_id: classId, |
161 | 163 | user_id: userid, |
162 | 164 | score: "100", | ... | ... |
WebRoot/static/js/test_list.js
... | ... | @@ -77,7 +77,8 @@ function getList(start_date, end_date, class_id) { // 获取测验列表 |
77 | 77 | + data.data[i].createDate |
78 | 78 | + '</td><td><a onclick="window.top.loading.show();jump($(this));" data-id="' |
79 | 79 | + data.data[i].testpaperId |
80 | - + '" >查看</a></td></tr>' | |
80 | + + '" >查看详情</a> <a onclick="window.top.loading.show();ansync($(this)); " data-id="' | |
81 | + + data.data[i].testpaperId + '" >班级分析</a></td></tr>' | |
81 | 82 | } |
82 | 83 | $("#tab_body").html(tab_html); |
83 | 84 | }, |
... | ... | @@ -92,6 +93,13 @@ function jump(obj) { // 预览测验详情 |
92 | 93 | var id = obj.attr("data-id"); |
93 | 94 | location.href = "paper_view1.do?testpaperId=" + id; |
94 | 95 | } |
96 | + | |
97 | +function ansync(obj){ | |
98 | + // 班级分析 | |
99 | + var id = obj.attr("data-id"); | |
100 | + location.href = "classansync.do?testpaperId=" + id; | |
101 | +} | |
102 | + | |
95 | 103 | function getSubjectName(id) { // 获取科目中文名 |
96 | 104 | var subjectName = ""; |
97 | 105 | $.ajax({ | ... | ... |
resources/mybatis1/api/V1Mapper.xml
... | ... | @@ -100,7 +100,7 @@ |
100 | 100 | FROM |
101 | 101 | sv_paperquestion |
102 | 102 | LEFT JOIN sv_question ON sv_paperquestion.QUESTION_ID = sv_question.QUESTION_ID |
103 | - where 1 = 1 and (sv_question.P_ID = '-1' or sv_question.P_ID = '0') | |
103 | + where 1 = 1 and (sv_question.P_ID = '-1' or sv_question.P_ID = '0' or sv_question.P_ID IS NULL) | |
104 | 104 | <if test="PAPER_ID != null and PAPER_ID != ''"> |
105 | 105 | and sv_paperquestion.PAPER_ID = #{PAPER_ID} |
106 | 106 | </if> | ... | ... |
resources/mybatis1/sunvote/TeacherMapper.xml
... | ... | @@ -117,7 +117,7 @@ |
117 | 117 | and ACCOUT = #{ACCOUT} and PASSWORD=#{PASSWORD} |
118 | 118 | </if> |
119 | 119 | <if test="KEYPAD_ID !=null"> |
120 | - and KEYPAD_ID = #{KEYPAD_ID} | |
120 | + and KEYPAD_ID = #{KEYPAD_ID} | |
121 | 121 | </if> |
122 | 122 | limit 1 |
123 | 123 | </select> |
... | ... | @@ -159,6 +159,91 @@ |
159 | 159 | </if> |
160 | 160 | </select> |
161 | 161 | |
162 | + <!-- 根据难度统计班级掌握情况 --> | |
163 | + <select id="diffcultClassReport" parameterType="pd" resultType="pd"> | |
164 | + SELECT | |
165 | + sv_question.DIFFICULTY, | |
166 | + sv_testpaperinfo.`RIGHT`, | |
167 | + count(sv_testpaperinfo.`RIGHT`) AS ANSWER_NUM | |
168 | + FROM | |
169 | + sv_testpaperinfo | |
170 | + LEFT JOIN sv_question ON sv_testpaperinfo.QUESTION_ID = sv_question.QUESTION_ID | |
171 | + WHERE | |
172 | + sv_testpaperinfo.TEST_ID = #{TEST_ID} | |
173 | + GROUP BY | |
174 | + sv_question.DIFFICULTY, | |
175 | + sv_testpaperinfo.`RIGHT` | |
176 | + ORDER BY | |
177 | + sv_question.DIFFICULTY, | |
178 | + sv_testpaperinfo.`RIGHT` | |
179 | + </select> | |
180 | + | |
181 | + <!-- 根据难度统计学生掌握掌握情况 --> | |
182 | + <select id="diffcultStudentReport" parameterType="pd" resultType="pd"> | |
183 | + SELECT | |
184 | + sv_student.`NAME`, | |
185 | + sv_testpaperinfo.STUDENT_ID, | |
186 | + sv_question.DIFFICULTY, | |
187 | + sv_testpaperinfo.`RIGHT`, | |
188 | + count(sv_testpaperinfo.`RIGHT`) AS ANSWER_NUM | |
189 | + FROM | |
190 | + sv_testpaperinfo | |
191 | + LEFT JOIN sv_student ON sv_testpaperinfo.STUDENT_ID = sv_student.ID | |
192 | + LEFT JOIN sv_question ON sv_testpaperinfo.QUESTION_ID = sv_question.QUESTION_ID | |
193 | + WHERE | |
194 | + sv_testpaperinfo.TEST_ID = #{TEST_ID} | |
195 | + GROUP BY | |
196 | + sv_testpaperinfo.STUDENT_ID, | |
197 | + sv_question.DIFFICULTY, | |
198 | + sv_testpaperinfo.`RIGHT` | |
199 | + ORDER BY | |
200 | + sv_student.NUMBER, | |
201 | + sv_question.DIFFICULTY, | |
202 | + sv_testpaperinfo.`RIGHT` | |
203 | + </select> | |
204 | + | |
205 | + <!-- 根据难度统计学生掌握掌握情况 --> | |
206 | + <select id="knowadgeClassReport" parameterType="pd" resultType="pd"> | |
207 | + SELECT | |
208 | + sv_knowledge.`NAME`, | |
209 | + sv_testpaperinfo.`RIGHT`, | |
210 | + count(sv_testpaperinfo.`RIGHT`) AS ANSWER_NUM | |
211 | + FROM | |
212 | + sv_testpaperinfo | |
213 | + LEFT JOIN sv_knowledge ON sv_testpaperinfo.KNOWLEDGE_ID = sv_knowledge.KNOWLEDGE_ID | |
214 | + WHERE | |
215 | + sv_testpaperinfo.TEST_ID = #{TEST_ID} | |
216 | + GROUP BY | |
217 | + sv_knowledge.`NAME`, | |
218 | + sv_testpaperinfo.`RIGHT` | |
219 | + ORDER BY | |
220 | + sv_knowledge.KNOWLEDGE_ID, | |
221 | + sv_testpaperinfo.`RIGHT` | |
222 | + </select> | |
223 | + | |
224 | + <!-- 根据难度统计学生掌握掌握情况 --> | |
225 | + <select id="knowadgeStudentReport" parameterType="pd" resultType="pd"> | |
226 | + SELECT | |
227 | + sv_student.`NAME` as STUDENT_NAME, | |
228 | + sv_testpaperinfo.STUDENT_ID, | |
229 | + sv_knowledge.`NAME` as KNOWLEDGE_NAME, | |
230 | + sv_knowledge.KNOWLEDGE_ID, | |
231 | + sv_testpaperinfo.`RIGHT`, | |
232 | + count(sv_testpaperinfo.`RIGHT`) AS ANSWER_NUM | |
233 | + FROM | |
234 | + sv_testpaperinfo | |
235 | + LEFT JOIN sv_knowledge ON sv_testpaperinfo.KNOWLEDGE_ID = sv_knowledge.KNOWLEDGE_ID | |
236 | + LEFT JOIN sv_student ON sv_testpaperinfo.STUDENT_ID = sv_student.ID | |
237 | + WHERE | |
238 | + sv_testpaperinfo.TEST_ID = #{TEST_ID} | |
239 | + GROUP BY | |
240 | + sv_testpaperinfo.STUDENT_ID, | |
241 | + sv_knowledge.`NAME`, | |
242 | + sv_testpaperinfo.`RIGHT` | |
243 | + ORDER BY | |
244 | + sv_student.NUMBER,sv_knowledge.KNOWLEDGE_ID,sv_testpaperinfo.`RIGHT` | |
245 | + </select> | |
246 | + | |
162 | 247 | <!-- 批量删除 --> |
163 | 248 | <delete id="deleteAll" parameterType="String"> |
164 | 249 | delete from | ... | ... |
src/com/fh/controller/sunvote/teacher/TeacherController.java
... | ... | @@ -204,11 +204,24 @@ public class TeacherController extends BaseController { |
204 | 204 | PageData pd = new PageData(); |
205 | 205 | pd = this.getPageData(); |
206 | 206 | pd.put("userId", userId); |
207 | + pd.put("subject_id", getSubjectID(userId)); | |
207 | 208 | mv.setViewName("sunvote/teacher/paper_view"); |
208 | 209 | mv.addObject("pd", pd); |
209 | 210 | return mv; |
210 | 211 | } |
211 | 212 | |
213 | + private String getSubjectID(String userId) { | |
214 | + PageData pt = new PageData(); | |
215 | + pt.put("TEACHER_ID", userId); | |
216 | + try { | |
217 | + List<PageData> subjectList = v1Service.getTeacherSubjectInfo(pt); | |
218 | + if (subjectList != null && subjectList.size() > 0) { | |
219 | + return subjectList.get(0).getString("SUBJECT_ID"); | |
220 | + } | |
221 | + }catch(Exception ex){} | |
222 | + return null; | |
223 | + } | |
224 | + | |
212 | 225 | /** |
213 | 226 | * 列表 |
214 | 227 | * |
... | ... | @@ -246,6 +259,63 @@ public class TeacherController extends BaseController { |
246 | 259 | mv.addObject("pd", pd); |
247 | 260 | return mv; |
248 | 261 | } |
262 | + | |
263 | + /** | |
264 | + * 列表 | |
265 | + * | |
266 | + * @param page | |
267 | + * @throws Exception | |
268 | + */ | |
269 | + @RequestMapping(value = "/classansync") | |
270 | + public ModelAndView classansync(Page page) throws Exception { | |
271 | + logBefore(logger, Jurisdiction.getUsername() + "列表Paper"); | |
272 | + String userId = this.getUserID(); | |
273 | + ModelAndView mv = this.getModelAndView(); | |
274 | + PageData pd = new PageData(); | |
275 | + pd = this.getPageData(); | |
276 | + pd.put("userId", userId); | |
277 | + if(pd.get("TEST_ID") == null){ | |
278 | + pd.put("TEST_ID", pd.get("TESTPAPERID")); | |
279 | + } | |
280 | + List<PageData> diffcultClassList = teacherService.diffcultClassReport(pd); | |
281 | + List<PageData> diffcultClass = new ArrayList<PageData>(); | |
282 | + for(int i = 0 ; i < diffcultClassList.size() ; ){ | |
283 | + PageData tpd0 = diffcultClassList.get(i); | |
284 | + PageData tpd1 = new PageData(); | |
285 | + PageData data = new PageData(); | |
286 | + if(i + 1 < diffcultClassList.size()){ | |
287 | + tpd1 = diffcultClassList.get(i+1); | |
288 | + } | |
289 | + if(tpd0.get("DIFFICULTY").equals(tpd1.get("DIFFICULTY"))){ | |
290 | + | |
291 | + i= i+2 ; | |
292 | + }else{ | |
293 | + i ++ ; | |
294 | + } | |
295 | + } | |
296 | + | |
297 | + | |
298 | + mv.setViewName("sunvote/teacher/paper_view1"); | |
299 | + mv.addObject("pd", pd); | |
300 | + return mv; | |
301 | + } | |
302 | + | |
303 | + | |
304 | + private String getPensent(PageData p1 , PageData p2){ | |
305 | + double pencent = 0.0; | |
306 | + if(p2 != null){ | |
307 | + String p1AnswerNum = p1.getString("ANSWER_NUM"); | |
308 | + String p2AnswerNum = p2.getString("ANSWER_NUM"); | |
309 | + double d1 = Double.parseDouble(p1AnswerNum); | |
310 | + double d2 = Double.parseDouble(p2AnswerNum); | |
311 | + pencent = d2 / (d1 + d2) ; | |
312 | + }else{ | |
313 | + if("1".equals(p1.get("RIGHT"))){ | |
314 | + pencent = 1.0 ; | |
315 | + } | |
316 | + } | |
317 | + return String.format("%.4f", pencent); | |
318 | + } | |
249 | 319 | |
250 | 320 | /** |
251 | 321 | * 列表 |
... | ... | @@ -385,9 +455,6 @@ public class TeacherController extends BaseController { |
385 | 455 | @ResponseBody |
386 | 456 | public Object deleteAll() throws Exception { |
387 | 457 | logBefore(logger, Jurisdiction.getUsername() + "批量删除Teacher"); |
388 | - if (!Jurisdiction.buttonJurisdiction(menuUrl, "del")) { | |
389 | - return null; | |
390 | - } // 校验权限 | |
391 | 458 | PageData pd = new PageData(); |
392 | 459 | Map<String, Object> map = new HashMap<String, Object>(); |
393 | 460 | pd = this.getPageData(); |
... | ... | @@ -414,9 +481,6 @@ public class TeacherController extends BaseController { |
414 | 481 | @RequestMapping(value = "/excel") |
415 | 482 | public ModelAndView exportExcel() throws Exception { |
416 | 483 | logBefore(logger, Jurisdiction.getUsername() + "导出Teacher到excel"); |
417 | - if (!Jurisdiction.buttonJurisdiction(menuUrl, "cha")) { | |
418 | - return null; | |
419 | - } | |
420 | 484 | ModelAndView mv = new ModelAndView(); |
421 | 485 | PageData pd = new PageData(); |
422 | 486 | pd = this.getPageData(); |
... | ... | @@ -511,5 +575,7 @@ public class TeacherController extends BaseController { |
511 | 575 | |
512 | 576 | return res.toJson(); |
513 | 577 | } |
578 | + | |
579 | + | |
514 | 580 | |
515 | 581 | } | ... | ... |
src/com/fh/controller/system/login/LoginController.java
... | ... | @@ -226,15 +226,15 @@ public class LoginController extends BaseController { |
226 | 226 | try { |
227 | 227 | Session session = Jurisdiction.getSession(); |
228 | 228 | |
229 | - User user = (User) session.getAttribute(Const.SESSION_USER); // 读取session中的用户信息(单独用户信息) | |
229 | + User user = (User)session.getAttribute(Const.SESSION_USER); //读取session中的用户信息(单独用户信息) | |
230 | 230 | if (user != null) { |
231 | - User userr = (User) session.getAttribute(Const.SESSION_USERROL); // 读取session中的用户信息(含角色信息) | |
232 | -// if (null == userr) { | |
233 | -// userr = userService.getUserAndRoleById(user.getUSER_ID()); // 通过用户ID读取用户信息和角色信息 | |
234 | -// session.setAttribute(Const.SESSION_USERROL, user); // 存入session | |
235 | -// } else { | |
236 | -// user = userr; | |
237 | -// } | |
231 | + User userr = (User)session.getAttribute(Const.SESSION_USERROL); //读取session中的用户信息(含角色信息) | |
232 | + if(null == userr){ | |
233 | + user = userService.getUserAndRoleById(user.getUSER_ID()); //通过用户ID读取用户信息和角色信息 | |
234 | + session.setAttribute(Const.SESSION_USERROL, user); //存入session | |
235 | + }else{ | |
236 | + user = userr; | |
237 | + } | |
238 | 238 | String USERNAME = user.getUSERNAME(); |
239 | 239 | if ("teacher".equals(changeMenu)) { |
240 | 240 | PageData tpd = new PageData(); |
... | ... | @@ -242,7 +242,7 @@ public class LoginController extends BaseController { |
242 | 242 | List<PageData> teacherInfos = v1Service.getTeacherInfo(tpd); |
243 | 243 | pd.put("TEACHER", teacherInfos); |
244 | 244 | if (teacherInfos != null && teacherInfos.size() > 0) { |
245 | - PageData sData = teacherInfos.get(0); | |
245 | + PageData sData = teacherInfos.get(0); | |
246 | 246 | session.setAttribute(USERNAME + Const.SCHOOL_ID, |
247 | 247 | sData.get("SCHOOL_ID")); |
248 | 248 | session.setAttribute(USERNAME + Const.SCHOOL_NAME, | ... | ... |
src/com/fh/service/sunvote/teacher/TeacherManager.java
... | ... | @@ -42,6 +42,34 @@ public interface TeacherManager{ |
42 | 42 | */ |
43 | 43 | public List<PageData> listAll(PageData pd)throws Exception; |
44 | 44 | |
45 | + /** | |
46 | + * knowadgeClassReport | |
47 | + * @param pd | |
48 | + * @throws Exception | |
49 | + */ | |
50 | + public List<PageData> diffcultClassReport(PageData pd)throws Exception; | |
51 | + | |
52 | + /** | |
53 | + * diffcultStudentReport | |
54 | + * @param pd | |
55 | + * @throws Exception | |
56 | + */ | |
57 | + public List<PageData> diffcultStudentReport(PageData pd)throws Exception; | |
58 | + | |
59 | + /** | |
60 | + * knowadgeClassReport | |
61 | + * @param pd | |
62 | + * @throws Exception | |
63 | + */ | |
64 | + public List<PageData> knowadgeClassReport(PageData pd)throws Exception; | |
65 | + | |
66 | + /** | |
67 | + * 根据难度统计学生掌握掌握情况 | |
68 | + * @param pd | |
69 | + * @throws Exception | |
70 | + */ | |
71 | + public List<PageData> knowadgeStudentReport(PageData pd)throws Exception; | |
72 | + | |
45 | 73 | /**通过id获取数据 |
46 | 74 | * @param pd |
47 | 75 | * @throws Exception | ... | ... |
src/com/fh/service/sunvote/teacher/impl/TeacherService.java
... | ... | @@ -88,6 +88,26 @@ public class TeacherService implements TeacherManager{ |
88 | 88 | public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ |
89 | 89 | dao.delete("TeacherMapper.deleteAll", ArrayDATA_IDS); |
90 | 90 | } |
91 | + | |
92 | + @Override | |
93 | + public List<PageData> diffcultClassReport(PageData pd) throws Exception { | |
94 | + return (List<PageData>)dao.findForList("TeacherMapper.diffcultClassReport", pd); | |
95 | + } | |
96 | + | |
97 | + @Override | |
98 | + public List<PageData> diffcultStudentReport(PageData pd) throws Exception { | |
99 | + return (List<PageData>)dao.findForList("TeacherMapper.diffcultStudentReport", pd); | |
100 | + } | |
101 | + | |
102 | + @Override | |
103 | + public List<PageData> knowadgeClassReport(PageData pd) throws Exception { | |
104 | + return (List<PageData>)dao.findForList("TeacherMapper.knowadgeClassReport", pd); | |
105 | + } | |
106 | + | |
107 | + @Override | |
108 | + public List<PageData> knowadgeStudentReport(PageData pd) throws Exception { | |
109 | + return (List<PageData>)dao.findForList("TeacherMapper.knowadgeStudentReport", pd); | |
110 | + } | |
91 | 111 | |
92 | 112 | } |
93 | 113 | ... | ... |