diff --git a/WebRoot/WEB-INF/jsp/sunvote/homework/homework_item_report.jsp b/WebRoot/WEB-INF/jsp/sunvote/homework/homework_item_report.jsp new file mode 100644 index 0000000..c812ddd --- /dev/null +++ b/WebRoot/WEB-INF/jsp/sunvote/homework/homework_item_report.jsp @@ -0,0 +1,438 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> +<%@ taglib prefix="myelfun" uri="/WEB-INF/tld/elfun.tld"%> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + +${info.CLASS_NAME}成绩报表 + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + +
课程统计: ${fn:length(pd.DATA.HOMEWORKS)}
班级名册: ${myelfun:findClassName(pd.CLASS_ID)}
学生人数: ${fn:length(pd.DATA.STUDENTS)}
+ +
  • 上一周
  • 本周
  • 下一周
  • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- --%> + + + + + + + + + + + +
    姓名
    课程平均得分率
    课程总分
    ${var_h.NAME}
    ${var_h.COMPLETE_DATE}
    班级课程总分
    ${var_h.ALL_SCORE}
    班级课程平均分
    ${var_h.GET_SCORE}
    班级课程平均得分率
    ${var_h.GET_SCORE_PERSENT }
    ${var.NAME} + +
    %
    ${var.GET_SCORE_PERSENT }
    ${var[TEST_ID] }
    + +
    +
    +
    + + + + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    课程统计: ${info.testsize}
    班级名册: ${info.CLASS_NAME}
    学生人数: ${info.STUDENT_NUM}
    + + + +
  • 上一周
  • 本周
  • 下一周
  • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- --%> + + + + + + + + + + + +
    姓名
    课程平均得分率
    课程总分
    ${var.NAME}
    ${var.CREATE_DATE}
    班级课程总分
    ${var.TOTAL_SCORE}
    班级课程平均分
    ${var.AVG_SCORE}
    班级课程平均得分率
    %
    ${var.NAME} + +
    %
    ${var.GETSCORE }
    ${var[TEST_ID] }
    + ${pd } +
    +
    +
    + + <%@ include file="../../system/index/foot.jsp"%> + + + + + + + + + + + + + + + + + + + diff --git a/WebRoot/WEB-INF/jsp/sunvote/homework/homework_student_report.jsp b/WebRoot/WEB-INF/jsp/sunvote/homework/homework_student_report.jsp new file mode 100644 index 0000000..c812ddd --- /dev/null +++ b/WebRoot/WEB-INF/jsp/sunvote/homework/homework_student_report.jsp @@ -0,0 +1,438 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> +<%@ taglib prefix="myelfun" uri="/WEB-INF/tld/elfun.tld"%> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + +${info.CLASS_NAME}成绩报表 + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + +
    课程统计: ${fn:length(pd.DATA.HOMEWORKS)}
    班级名册: ${myelfun:findClassName(pd.CLASS_ID)}
    学生人数: ${fn:length(pd.DATA.STUDENTS)}
    + +
  • 上一周
  • 本周
  • 下一周
  • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- --%> + + + + + + + + + + + +
    姓名
    课程平均得分率
    课程总分
    ${var_h.NAME}
    ${var_h.COMPLETE_DATE}
    班级课程总分
    ${var_h.ALL_SCORE}
    班级课程平均分
    ${var_h.GET_SCORE}
    班级课程平均得分率
    ${var_h.GET_SCORE_PERSENT }
    ${var.NAME} + +
    %
    ${var.GET_SCORE_PERSENT }
    ${var[TEST_ID] }
    + +
    +
    +
    + + + + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    课程统计: ${info.testsize}
    班级名册: ${info.CLASS_NAME}
    学生人数: ${info.STUDENT_NUM}
    + + + +
  • 上一周
  • 本周
  • 下一周
  • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- --%> + + + + + + + + + + + +
    姓名
    课程平均得分率
    课程总分
    ${var.NAME}
    ${var.CREATE_DATE}
    班级课程总分
    ${var.TOTAL_SCORE}
    班级课程平均分
    ${var.AVG_SCORE}
    班级课程平均得分率
    %
    ${var.NAME} + +
    %
    ${var.GETSCORE }
    ${var[TEST_ID] }
    + ${pd } +
    +
    +
    + + <%@ include file="../../system/index/foot.jsp"%> + + + + + + + + + + + + + + + + + + + diff --git a/resources/mybatis1/sunvote/HomeworkMapper.xml b/resources/mybatis1/sunvote/HomeworkMapper.xml index f2c24a1..3ce1dae 100644 --- a/resources/mybatis1/sunvote/HomeworkMapper.xml +++ b/resources/mybatis1/sunvote/HomeworkMapper.xml @@ -287,17 +287,29 @@ SELECT sv_homeworkreport.STUDENT_ID, - sv_homework.GET_SCORE as PAPER_SCORE, + sv_homeworkreport.STUDENT_NAME, + sv_homework.ALL_SCORE as PAPER_SCORE, + sv_homework.GET_SCORE as AVG_SCORE, sv_homework.HOMEWORK_ID, + sv_homework.NAME, + sv_homework.GET_MAX_SCORE, + sv_homeworkreport.STUDNET_NO, + sv_homework.COMPLETE_DATE, sv_homeworkreport.GET_SCORE as STUDENT_SCORE FROM sv_homework LEFT JOIN sv_homeworkreport ON sv_homework.HOMEWORK_ID = sv_homeworkreport.HOMEWORK_ID WHERE - sv_homework.CLASS_ID = #{CLASS_ID} and sv_homework.COMPLETE_COUNT > 0 + sv_homework.COMPLETE_COUNT > 0 + + and sv_homework.CLASS_ID = #{CLASS_ID} + and sv_homework.HOMEWORK_ID = #{HOMEWORK_ID} + + and STUDENT_ID = #{STUDENT_ID} + and COMPLETE_DATE < #{START_DATE} diff --git a/src/com/fh/controller/sunvote/homework/HomeworkController.java b/src/com/fh/controller/sunvote/homework/HomeworkController.java index 36c2994..9113313 100644 --- a/src/com/fh/controller/sunvote/homework/HomeworkController.java +++ b/src/com/fh/controller/sunvote/homework/HomeworkController.java @@ -302,62 +302,140 @@ public class HomeworkController extends BaseController { } pd.put("CLASSES", list); - // 对应班级数据 - PageData data = new PageData(); - List studentList = studentService.findByClassId(pd); - - List homeworkList = homeworkService.listAll(pd); - List dataList = homeworkService.report(pd); - for(PageData stuPd:studentList){ - double all = 0 ; - double get = 0; - for(PageData dpd : dataList){ - if(dpd.get("STUDENT_ID").equals(stuPd.get("ID"))){ - stuPd.put(dpd.get("HOMEWORK_ID"), dpd.get("STUDENT_SCORE")); - try{ - get += Double.parseDouble(dpd.get("STUDENT_SCORE").toString()); - }catch(Exception ex){ - - } - try{ - all += Double.parseDouble(dpd.get("PAPER_SCORE").toString()); - }catch(Exception ex){ - + if (pd.get("CLASS_ID") != null) { + // 对应班级数据 + PageData data = new PageData(); + List studentList = studentService.findByClassId(pd); + + List homeworkList = homeworkService.listAll(pd); + List dataList = homeworkService.report(pd); + for (PageData stuPd : studentList) { + double all = 0; + double get = 0; + for (PageData dpd : dataList) { + if (dpd.get("STUDENT_ID").equals(stuPd.get("ID"))) { + stuPd.put(dpd.get("HOMEWORK_ID"), + dpd.get("STUDENT_SCORE")); + try { + get += Double.parseDouble(dpd.get("STUDENT_SCORE") + .toString()); + } catch (Exception ex) { + + } + try { + all += Double.parseDouble(dpd.get("PAPER_SCORE") + .toString()); + } catch (Exception ex) { + + } } } + stuPd.put("STUDENT_ALL_SCORE", get); + stuPd.put("PAPER_ALL_SCORE", all); + stuPd.remove("SCHOOL_ID"); + stuPd.remove("SEX"); + stuPd.remove("CLASS_ID"); + stuPd.remove("NUMBER"); + stuPd.remove("ID"); } - stuPd.put("STUDENT_ALL_SCORE", get); - stuPd.put("PAPER_ALL_SCORE", all); - stuPd.remove("SCHOOL_ID"); - stuPd.remove("SEX"); - stuPd.remove("CLASS_ID"); - stuPd.remove("NUMBER"); - stuPd.remove("ID"); - } - for(PageData hpd: homeworkList){ - hpd.remove("QUESTION_COUNT"); - hpd.remove("COMPLETE_COUNT"); - hpd.remove("SUBJECT_ID"); - hpd.remove("SCHOOL_ID"); - hpd.remove("GRADE_ID"); - hpd.remove("SUMBIT_DATE"); - hpd.remove("MODIFY_DATE"); - hpd.remove("TEACHER_ID"); - hpd.remove("CREATE_DATE"); - hpd.remove("CLASS_ID"); - hpd.remove("CODE"); - hpd.remove("GET_MAX_SCORE"); - hpd.remove("HOMEWORK_DESC"); - hpd.remove("COMPLETE_DESC"); + for (PageData hpd : homeworkList) { + hpd.remove("QUESTION_COUNT"); + hpd.remove("COMPLETE_COUNT"); + hpd.remove("SUBJECT_ID"); + hpd.remove("SCHOOL_ID"); + hpd.remove("GRADE_ID"); + hpd.remove("SUMBIT_DATE"); + hpd.remove("MODIFY_DATE"); + hpd.remove("TEACHER_ID"); + hpd.remove("CREATE_DATE"); + hpd.remove("CLASS_ID"); + hpd.remove("CODE"); + hpd.remove("GET_MAX_SCORE"); + hpd.remove("HOMEWORK_DESC"); + hpd.remove("COMPLETE_DESC"); + } + data.put("HOMEWORKS", homeworkList);// + data.put("STUDENTS", studentList); + pd.put("DATA", data); + }else{ + pd.put("CLASS_ID", ""); } - data.put("HOMEWORKS", homeworkList);// - data.put("STUDENTS", studentList); pd.remove("JSON"); - pd.put("DATA", data); mv.setViewName("sunvote/homework/homework_report"); mv.addObject("pd", pd); return mv; } + + + /** + * 去修改页面 + * + * @param + * @throws Exception + */ + @RequestMapping(value = "/student") + public ModelAndView student() throws Exception { + ModelAndView mv = this.getModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("TEACHER_ID", getTeacherID()); + + + if(pd.get("CURRENT_WEEK") == null && pd.get("START_DATE") == null && pd.get("END_DATE") == null){ + pd.put("CURRENT_WEEK", "0"); + String currentWeek = pd.getString("CURRENT_WEEK"); + int current = Integer.parseInt(currentWeek); + pd.put("START_DATE", getWeekStart(current)); + pd.put("END_DATE", getWeekEnd(current)); + }else if(pd.get("CURRENT_WEEK") != null){ + String currentWeek = pd.getString("CURRENT_WEEK"); + int current = Integer.parseInt(currentWeek); + pd.put("START_DATE", getWeekStart(current)); + pd.put("END_DATE", getWeekEnd(current)); + } + List dataList = homeworkService.report(pd); + pd.put("DATA", dataList); + pd.remove("JSON"); + mv.setViewName("sunvote/homework/homework_student_report"); + mv.addObject("pd", pd); + return mv; + } + + + /** + * 去修改页面 + * + * @param + * @throws Exception + */ + @RequestMapping(value = "/homework_report") + public ModelAndView homework_report() throws Exception { + ModelAndView mv = this.getModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("TEACHER_ID", getTeacherID()); + + + if(pd.get("CURRENT_WEEK") == null && pd.get("START_DATE") == null && pd.get("END_DATE") == null){ + pd.put("CURRENT_WEEK", "0"); + String currentWeek = pd.getString("CURRENT_WEEK"); + int current = Integer.parseInt(currentWeek); + pd.put("START_DATE", getWeekStart(current)); + pd.put("END_DATE", getWeekEnd(current)); + }else if(pd.get("CURRENT_WEEK") != null){ + String currentWeek = pd.getString("CURRENT_WEEK"); + int current = Integer.parseInt(currentWeek); + pd.put("START_DATE", getWeekStart(current)); + pd.put("END_DATE", getWeekEnd(current)); + } + List dataList = homeworkService.report(pd); + pd.put("DATA", dataList); + pd.remove("JSON"); + mv.setViewName("sunvote/homework/homework_item_report"); + mv.addObject("pd", pd); + return mv; + } + /**