Commit eca4feb532faacb3a14531abd59b8946e463d0be

Authored by 孙向锦
1 parent 4b6a5239

管理员功能完善

WebRoot/WEB-INF/jsp/sunvote/admin/admin_main.jsp
... ... @@ -262,17 +262,17 @@
262 262 }
263 263  
264 264 function report(classId){
265   - //window.open('<%=basePath%>report/report.do?classid=' + classId);
266   - //if($("#mainFrame").attr('src') != ('<%=basePath%>report/report.do?classid=' + classId)){
267   - $("#mainFrame").attr('src','<%=basePath%>report/report.do?classid=' + classId);
  265 + //window.open('<%=basePath%>report/report.do?role=admin&classid=' + classId);
  266 + //if($("#mainFrame").attr('src') != ('<%=basePath%>report/report.do?role=admin&classid=' + classId)){
  267 + $("#mainFrame").attr('src','<%=basePath%>report/report.do?role=admin&classid=' + classId);
268 268 window.top.loading.show();
269 269 //}
270 270 }
271 271 function report2(classId){
272 272 //window.open('<%=basePath%>report/report.do?classid=' + classId);
273 273 //if($("#mainFrame").attr('src') != ('<%=basePath%>report/report.do?classid=' + classId)){
274   - $("#mainFrame").attr('src','<%=basePath%>teacher/test_list.do?classid=' + classId);
275   - window.top.loading.show();
  274 + // $("#mainFrame").attr('src','<%=basePath%>teacher/test_list.do?classid=' + classId);
  275 + // window.top.loading.show();
276 276 //}
277 277 }
278 278  
... ... @@ -313,8 +313,8 @@
313 313 $("#jishice_paper").click(function (){
314 314 var path = "../teacher/teach_paper.do?school_id=" + schoolId;
315 315 //if($("#mainFrame").attr('src') != (path)){
316   - $("#mainFrame").attr('src',path);
317   - window.top.loading.show();
  316 + // $("#mainFrame").attr('src',path);
  317 + // window.top.loading.show();
318 318 //}
319 319 });
320 320 </script>
... ...
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp
... ... @@ -33,6 +33,7 @@
33 33 <div style="padding:20px 20px;">
34 34 <form action="report/report.do" method="post" name="Form" id="Form" style="margin-bottom:0;">
35 35 <input type="hidden" name="CLASSID" id="CLASSID" value="${info.CLASS_ID}" />
  36 + <input type="hidden" name="ROLE" id="ROLE" value="${pd.ROLE}" />
36 37 <table style="margin-top:5px;margin-bottom:20px;">
37 38 <tr>
38 39 <td><div style="width:150px;text-align:center;">课程统计: ${info.testsize}</div></td>
... ... @@ -40,6 +41,16 @@
40 41  
41 42 <td><div style="width:150px;text-align:center;"><span>学生人数: ${info.STUDENT_NUM}</span></div></td>
42 43 <td></td>
  44 + <c:if test="${not empty subjectInfos}">
  45 + <td>
  46 + <select class="chosen-select form-control" name="SUBJECT_ID" id="SUBJECT_ID" data-placeholder="这里输入所属学校">
  47 + <option value="">全部</option>
  48 + <c:forEach var="item" items="${subjectInfos}">
  49 + <option value="${item.SUBJECT_ID}" <c:if test="${pd.SUBJECT_ID == item.SUBJECT_ID }">selected = ture</c:if>>${item.SCNAME}</option>
  50 + </c:forEach>
  51 + </select>
  52 + </td>
  53 + </c:if>
43 54 <td style="padding-left:2px;">
44 55 <input
45 56 class="span10 date-picker" name="lastStart" id="lastStart"
... ... @@ -211,6 +222,7 @@
211 222 });
212 223 });
213 224  
  225 + var role = '${pd.ROLE}';
214 226  
215 227 function precent(avg,total){
216 228 if(total == 0){
... ... @@ -223,7 +235,11 @@
223 235 var url = "<%=basePath%>report/report.do?classid=${info.CLASS_ID}" ;
224 236 var startDate = $("#lastStart").val();
225 237 var endDate = $("#lastEnd").val();
226   - url = url + "&start_date=" + startDate + "&end_date=" + endDate ;
  238 + var subject_id = $("#SUBJECT_ID").val();
  239 + url = url + "&start_date=" + startDate + "&end_date=" + endDate + "&SUBJECT_ID=" + subject_id;
  240 + if(role == "admin"){
  241 + url = url + "&ROLE=admin" ;
  242 + }
227 243 window.location.href = url;
228 244 /* $("#Form").sumbit(); */
229 245 }
... ...
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_test.jsp
... ... @@ -93,7 +93,7 @@
93 93 <%-- <td class="center">${var.RIGHT}</td> --%>
94 94 <td class="center"><div style="width:80px;">${vs.index + 1}</div></td>
95 95 <c:forEach items="${questionInfo}" var="var1" varStatus="vs1">
96   - <td class="center"><div style="width:80px;margin:0 auto;">${var.detail[vs1.index].ANSWER}</div></td>
  96 + <td class="center" <c:if test="${var.detail[vs1.index].RIGHT== '1'}">style="background:#0bb8b9"</c:if>div style="width:80px;margin:0 auto;">${var.detail[vs1.index].ANSWER}</div></td>
97 97 </c:forEach>
98 98 <%-- <td class="center">${var.OTHER_SCORE}</td> --%>
99 99 <td class="center"><div style="width:80px;margin:0 auto;">${var.GETSCORE}</div></td>
... ...
WebRoot/static/js/control-604.js
1   -$(function(){
  1 + var questionNUm = 0 ;
  2 +$(function(){
2 3 /*快速创建答案列表*/
3 4 var score=0;
4 5 var total_score = 0;
5   - var questionNUm = 0 ;
  6 +
6 7 function creat(str_ans,a_num,fraction){
7 8 // $(".section").remove();
8 9 answer_index_b=$(".section").length+1;
... ... @@ -16,7 +17,7 @@
16 17 }
17 18 }
18 19 q_num=str.length;
19   - $(".content").append('<div class="section section-' + answer_index_b +' single" data-fraction="'+fraction+'" data-score="'+(q_num * fraction)+'"><div class="title"><h3>第' +answer_index_b +'大题总分: ' + (q_num * fraction)+'分<!--<span>请在试题选项上点击,亮色为该试题的正确答案&nbsp; </span> --></h3> </div><div class="question_list"></div></div>');
  20 + $(".content").append('<div class="section section-' + answer_index_b +' single" data-fraction="'+fraction+'" data-score="'+(q_num * fraction)+'"><div class="title"><h3>第' +answer_index_b +'大题总分: ' + q_num + ' X ' + fraction + ' = ' + (q_num * fraction)+' 分<!--<span>请在试题选项上点击,亮色为该试题的正确答案&nbsp; </span> --></h3> </div><div class="question_list"></div></div>');
20 21 for(var i=0;i<q_num;i++){
21 22 str_temp=str[i];
22 23 str_temp=str_temp.toUpperCase()
... ... @@ -112,7 +113,7 @@
112 113 }*/
113 114 case 5: //多选题
114 115 // $(".content").html("");
115   - $(".content").append('<div class="section section-'+ answer_index_b +' check" data-fraction="'+fraction2+'" data-score="' + ((index_e_2- index_s_2 + 1 )* fraction2)+ '"> <div class="title"><h3>第' +answer_index_b +'大题总分: ' + ((index_e_2- index_s_2 + 1 )* fraction2)+'分<!--<span>请在试题选项上点击,亮色为该试题的正确答案&nbsp; </span>--></h3> </div> <div class="question_list"></div></div>');
  116 + $(".content").append('<div class="section section-'+ answer_index_b +' check" data-fraction="'+fraction2+'" data-score="' + ((index_e_2- index_s_2 + 1 )* fraction2)+ '"> <div class="title"><h3>第' +answer_index_b +'大题总分: ' + (index_e_2- index_s_2 + 1 ) + ' X ' + fraction2 + ' = ' + ((index_e_2- index_s_2 + 1 )* fraction2)+' 分<!--<span>请在试题选项上点击,亮色为该试题的正确答案&nbsp; </span>--></h3> </div> <div class="question_list"></div></div>');
116 117 for(var i=index_s_2;i<=index_e_2;i++){
117 118 questionNUm++;
118 119 $(".section-" + answer_index_b +" .question_list").append('<div class="question question'+questionNUm+'"><span>'+questionNUm+'、</span><ul></ul></div>');
... ... @@ -379,12 +380,12 @@ function creatHtml(data){
379 380  
380 381 for(var i=0;i<data.questions.length;i++){
381 382 if(data.questions[i].questions){
382   - $(".content").append('<div class="section section-'+i+'" data-fraction="'+data.questions[i].score+'" style="margin-top:20px;"> <h3><span class="que_num">'+'第'+ (i+1) + '大题总分:'+ data.questions[i].sug_score +'</span>'+'<span class="que_name">'+data.questions[i].content+'</span></h3><!-- <input type="button" class="btn btn-danger pull-right remove" name="remove" value="删除" /> --> <div class="question_list"></div></div>');
  383 + $(".content").append('<div class="section section-'+i+'" data-fraction="'+data.questions[i].score+'" style="margin-top:20px;"> <h3><span class="que_num">'+'第'+ (i+1) + '大题总分:'+data.questions[i].questions.length + " X " + (parseFloat(data.questions[i].sug_score) / data.questions[i].questions.length) + " = " + data.questions[i].sug_score +'</span>'+'<span class="que_name">'+data.questions[i].content+'</span></h3><!-- <input type="button" class="btn btn-danger pull-right remove" name="remove" value="删除" /> --> <div class="question_list"></div></div>');
383 384 }else{
384 385 if(i == 0){
385 386 $(".content").append('<div class="section section0"> <div class="question_list"></div></div>');
386 387 }
387   - $(".section0").find(".question_list").append('<div class="question question'+(i+1)+'"><span>'+(i+1)+'、</span><ul></ul></div>');
  388 + $(".section0").find(".question_list").append('<div class="question question'+(i+1)+'"><span>'+(++questionNUm)+'、</span><ul></ul></div>');
388 389 for(var k=0;k<parseInt(data.questions[i].option_num);k++){
389 390 str_temp=data.questions[i].answer;
390 391 $(".section0").find(".question"+(i+1)+' ul').append('<li class="btn btn-default">'+String.fromCharCode(0x41+k)+'</li>');
... ... @@ -401,7 +402,7 @@ function creatHtml(data){
401 402  
402 403 if(data.questions[i].questions){
403 404 for(var j=0;j<data.questions[i].questions.length;j++){
404   - $(".section-"+i).find(".question_list").append('<div class="question question'+(j+1)+'"><span>'+(j+1)+'、</span><ul></ul></div>');
  405 + $(".section-"+i).find(".question_list").append('<div class="question question'+(j+1)+'"><span>'+(++questionNUm)+'、</span><ul></ul></div>');
405 406 if($(".section-"+i).find(".que_name").text()=="判断题"){
406 407 for(var k=0;k<parseInt(data.questions[i].questions[j].option_num);k++){
407 408 str_temp=data.questions[i].questions[j].answer;
... ...
resources/mybatis1/sunvote/TestPaperMapper.xml
... ... @@ -23,6 +23,7 @@
23 23 TOTAL_SCORE,
24 24 REMARK,
25 25 TEST_TYPE,
  26 + SUBJECT_ID,
26 27 TESTPAPER_ID
27 28 </sql>
28 29  
... ... @@ -42,6 +43,7 @@
42 43 #{TOTAL_SCORE},
43 44 #{REMARK},
44 45 #{TEST_TYPE},
  46 + #{SUBJECT_ID},
45 47 #{TESTPAPER_ID}
46 48 </sql>
47 49  
... ... @@ -83,6 +85,7 @@
83 85 TOTAL_SCORE = #{TOTAL_SCORE},
84 86 REMARK = #{REMARK},
85 87 TEST_TYPE = #{TEST_TYPE},
  88 + SUBJECT_ID = #{SUBJECT_ID},
86 89 TESTPAPER_ID = TESTPAPER_ID
87 90 where
88 91 TESTPAPER_ID = #{TESTPAPER_ID}
... ... @@ -143,6 +146,9 @@
143 146 <if test="NAME != null and NAME != ''"><!-- 关键词检索 -->
144 147 and (NAME = #{NAME})
145 148 </if>
  149 + <if test="SUBJECT_ID != null and SUBJECT_ID != ''"><!-- 关键词检索 -->
  150 + and (SUBJECT_ID = #{SUBJECT_ID})
  151 + </if>
146 152 <if test="TEST_TYPE != null and TEST_TYPE == '1'.toString()"><!-- 关键词检索 -->
147 153 and (TEST_TYPE = #{TEST_TYPE} or TEST_TYPE IS NULL)
148 154 </if>
... ... @@ -185,6 +191,9 @@
185 191 <if test="TEACHER_ID != null and TEACHER_ID != ''"><!-- 关键词检索 -->
186 192 and (TEACHER_ID = #{TEACHER_ID})
187 193 </if>
  194 + <if test="SUBJECT_ID != null and SUBJECT_ID != ''"><!-- 关键词检索 -->
  195 + and (SUBJECT_ID = #{SUBJECT_ID})
  196 + </if>
188 197 <if test="CREATE_DATE != null and CREATE_DATE != ''"><!-- 关键词检索 -->
189 198 and (CREATE_DATE = #{CREATE_DATE})
190 199 </if>
... ...
src/com/fh/controller/api/V1.java
... ... @@ -1787,7 +1787,9 @@ public class V1 extends BaseController {
1787 1787 }
1788 1788 }
1789 1789 }
1790   - testpaperinfoService.batchSave(testInfoPdList);
  1790 + if(testInfoPdList.size() > 0){
  1791 + testpaperinfoService.batchSave(testInfoPdList);
  1792 + }
1791 1793 }
1792 1794 res.setData(testPaperId);
1793 1795 } catch (Exception e) {
... ...
src/com/fh/controller/sunvote/paper/PaperController.java
... ... @@ -255,10 +255,13 @@ public class PaperController extends BaseController {
255 255 Session session = Jurisdiction.getSession();
256 256 User user = (User)session.getAttribute(Const.SESSION_USER);
257 257 paper.setUser_id(user.getUSER_ID());
258   - paper.setPaper_type(paperType == null ? "1" :paperType);
259   - paper.setSubject_id(pd.getString("SUBJECT_ID") == null ? getSubjectId():pd.getString("SUBJECT_ID"));
260   - paper.setGrade_id(pd.getString("GRADE_ID") == null ? getGradeID() : pd.getString("GRADE_ID"));
261   - paper.setSchool_id(pd.getString("SCHOOL_ID") == null ? getSchoolID() : pd.getString("SCHOOL_ID"));
  258 + paper.setPaper_type(paperType == null || "".equals(paperType.trim()) ? "1" :paperType);
  259 + String subjectId = pd.getString("SUBJECT_ID");
  260 + paper.setSubject_id(subjectId == null || "".equals(subjectId.trim())? getSubjectId():subjectId);
  261 + String gradeId = pd.getString("GRADE_ID");
  262 + paper.setGrade_id( gradeId== null || "".equals(gradeId.trim())? getGradeID() : gradeId);
  263 + String schoolId = pd.getString("SCHOOL_ID") ;
  264 + paper.setSchool_id(schoolId == null || "".equals(schoolId.trim())? getSchoolID() : schoolId);
262 265 paper.setQuestions(new ArrayList<Question>());
263 266  
264 267 pd.put("JSON", paper.toJson());
... ...
src/com/fh/controller/sunvote/report/ReportController.java
... ... @@ -14,6 +14,7 @@ import org.springframework.web.servlet.ModelAndView;
14 14  
15 15 import com.fh.controller.api.ResponseGson;
16 16 import com.fh.controller.base.BaseController;
  17 +import com.fh.service.api.V1Manager;
17 18 import com.fh.service.sunvote.sclass.SClassManager;
18 19 import com.fh.service.sunvote.student.StudentManager;
19 20 import com.fh.service.sunvote.studenttest.StudentTestManager;
... ... @@ -41,6 +42,9 @@ public class ReportController extends BaseController {
41 42 @Resource(name="testpaperinfoService")
42 43 private TestPaperInfoManager testpaperinfoService;
43 44  
  45 + @Resource(name = "v1Service")
  46 + private V1Manager v1Service;
  47 +
44 48  
45 49  
46 50 @RequestMapping(value="/report")
... ... @@ -51,7 +55,30 @@ public class ReportController extends BaseController {
51 55 pd.put("SCLASS_ID", pd.get("CLASSID"));
52 56 pd.put("ID", pd.get("CLASSID"));
53 57 pd.put("TEST_TYPE", "1");
54   - pd.put("TEACHER_ID", getUserID());
  58 + String role = pd.getString("ROLE");
  59 + if( role != null && "admin".equals(role)){
  60 + PageData tpd = new PageData();
  61 + tpd.put("ID", getUserID());
  62 + List<PageData> adminInfos = v1Service.getAdminInfo(tpd);
  63 + List<PageData> subjectInfos = new ArrayList<PageData>();
  64 + for(PageData pad : adminInfos){
  65 + PageData tmpd = new PageData();
  66 + Object gradeId = pad.get("GRADE_ID");
  67 + tmpd.put("SNAME", pad.get("SNAME"));// 学校名称
  68 + tmpd.put("SCHOOL_ID", pad.get("SCHOOL_ID"));//学校ID
  69 + tmpd.put("GRADE_ID", pad.get("GRADE_ID"));//年级id
  70 + tmpd.put("GNAME", pad.get("GNAME"));//年级名称
  71 + tmpd.put("SUBJECT_ID", pad.get("SUBJECT_ID"));// 科目id
  72 + tmpd.put("SCNAME", pad.get("SCNAME"));// 科目名称
  73 + if(gradeId != null && !"".equals(gradeId)){
  74 + }else{
  75 + subjectInfos.add(tmpd);
  76 + }
  77 + }
  78 + mv.addObject("subjectInfos", subjectInfos);
  79 + }else{
  80 + pd.put("TEACHER_ID", getUserID());
  81 + }
55 82 // 1 查询班级信息
56 83 PageData classPageData = sclassService.findById(pd);
57 84 PageData info = new PageData();
... ... @@ -60,6 +87,9 @@ public class ReportController extends BaseController {
60 87 info.put("CLASS_ID", classPageData.getString("ID"));
61 88 pd.put("CLASS_ID", pd.get("CLASSID"));
62 89 List<PageData> studentList = studentService.listAllClass(pd);
  90 +
  91 +
  92 +
63 93 // 2查询班级考试
64 94 pd.put("TEST_TYPE", "1");
65 95 List<PageData> testpaperList = testpaperService.listAll(pd);
... ... @@ -110,6 +140,7 @@ public class ReportController extends BaseController {
110 140 mv.addObject("info", info);
111 141 mv.addObject("start_date", pd.get("START_DATE"));
112 142 mv.addObject("end_date", pd.get("END_DATE"));
  143 + mv.addObject("pd", pd);
113 144 mv.setViewName("sunvote/teacher/teacher_report_1");
114 145 return mv;
115 146 }
... ...