Commit 91a745c927277652792c7e62b2759333c414a0c6

Authored by 孙向锦
1 parent fe1b8420

完善后台功能

WebRoot/WEB-INF/jsp/sunvote/classroster/classroster_edit.jsp
@@ -33,15 +33,33 @@ @@ -33,15 +33,33 @@
33 <table id="table_report" class="table table-striped table-bordered table-hover"> 33 <table id="table_report" class="table table-striped table-bordered table-hover">
34 <tr> 34 <tr>
35 <td style="width:75px;text-align: right;padding-top: 13px;">班级:</td> 35 <td style="width:75px;text-align: right;padding-top: 13px;">班级:</td>
36 - <td><input type="number" name="SCLASS_ID" id="SCLASS_ID" value="${pd.SCLASS_ID}" maxlength="32" placeholder="这里输入班级" title="班级" style="width:98%;"/></td> 36 + <td>
  37 + <select class="chosen-select form-control" name="SCLASS_ID" id="SCLASS_ID" data-placeholder="这里输入所属年级">
  38 + <c:forEach var="item" items="${classList}">
  39 + <option value="${item.ID}" <c:if test="${pd.SCLASS_ID==item.ID}">selected="true"</c:if>>${item.CLASS_NAME}</option>
  40 + </c:forEach>
  41 + </select>
  42 + </td>
37 </tr> 43 </tr>
38 <tr> 44 <tr>
39 <td style="width:75px;text-align: right;padding-top: 13px;">学生:</td> 45 <td style="width:75px;text-align: right;padding-top: 13px;">学生:</td>
40 - <td><input type="number" name="STUDENT_ID" id="STUDENT_ID" value="${pd.STUDENT_ID}" maxlength="32" placeholder="这里输入学生" title="学生" style="width:98%;"/></td> 46 + <td>
  47 + <select class="chosen-select form-control" name="STUDENT_ID" id="STUDENT_ID" data-placeholder="这里输入所属年级">
  48 + <c:forEach var="item" items="${studentList}">
  49 + <option value="${item.ID}" <c:if test="${pd.STUDENT_ID==item.ID}">selected="true"</c:if>>${item.NAME}</option>
  50 + </c:forEach>
  51 + </select>
  52 + </td>
41 </tr> 53 </tr>
42 <tr> 54 <tr>
43 <td style="width:75px;text-align: right;padding-top: 13px;">学期名称:</td> 55 <td style="width:75px;text-align: right;padding-top: 13px;">学期名称:</td>
44 - <td><input type="text" name="TEAMID" id="TEAMID" value="${pd.TEAMID}" maxlength="255" placeholder="这里输入学期名称" title="学期名称" style="width:98%;"/></td> 56 + <td>
  57 + <select class="chosen-select form-control" name="TEAMID" id="TEAMID" data-placeholder="这里输入所属年级">
  58 + <c:forEach var="item" items="${termList}">
  59 + <option value="${item.TERM_ID}" <c:if test="${pd.TEAMID==item.TERM_ID}">selected="true"</c:if>>${item.NAME}</option>
  60 + </c:forEach>
  61 + </select>
  62 + </td>
45 </tr> 63 </tr>
46 <tr> 64 <tr>
47 <td style="text-align: center;" colspan="10"> 65 <td style="text-align: center;" colspan="10">
WebRoot/WEB-INF/jsp/sunvote/paper/paper_list.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> 3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  4 +<%@ taglib prefix="myelfun" uri="/WEB-INF/tld/elfun.tld"%>
4 <% 5 <%
5 String path = request.getContextPath(); 6 String path = request.getContextPath();
6 String basePath = request.getScheme() + "://" 7 String basePath = request.getScheme() + "://"
@@ -93,15 +94,15 @@ @@ -93,15 +94,15 @@
93 </td> 94 </td>
94 <td class='center' style="width: 30px;">${vs.index+1}</td> 95 <td class='center' style="width: 30px;">${vs.index+1}</td>
95 <td class='center'>${var.TITLE}</td> 96 <td class='center'>${var.TITLE}</td>
96 - <td class='center'>${var.USER_ID}</td>  
97 - <td class='center'>${var.PAPER_TYPE}</td>  
98 - <td class='center'>${var.SUBJECT_ID}</td>  
99 - <td class='center'>${var.GRADE_ID}</td>  
100 - <td class='center'>${var.SCHOOL_ID}</td> 97 + <td class='center'>${myelfun:findTeacherName(var.USER_ID)}</td>
  98 + <td class='center'>${myelfun:findPaperTypeName(var.PAPER_TYPE)}</td>
  99 + <td class='center'>${myelfun:findSubjectCName(var.SUBJECT_ID)}</td>
  100 + <td class='center'>${myelfun:findGradeName(var.GRADE_ID)}</td>
  101 + <td class='center'>${myelfun:findSchoolName(var.SCHOOL_ID)}</td>
101 <td class='center'>${var.CREATE_DATE}</td> 102 <td class='center'>${var.CREATE_DATE}</td>
102 <td class='center'>${var.MODIFY_DATE}</td> 103 <td class='center'>${var.MODIFY_DATE}</td>
103 <td class='center'>${var.EXAM_TIME}</td> 104 <td class='center'>${var.EXAM_TIME}</td>
104 - <td class='center'>${var.PAPER_STATE}</td> 105 + <td class='center'>${var.PAPER_STATE == 0 ? "未考":"已考试"}</td>
105 <td class='center'>${var.REMARK}</td> 106 <td class='center'>${var.REMARK}</td>
106 <td class="center"> 107 <td class="center">
107 <c:if test="${QX.edit != 1 && QX.del != 1 }"> 108 <c:if test="${QX.edit != 1 && QX.del != 1 }">
WebRoot/WEB-INF/jsp/sunvote/paperquestion/paperquestion_list.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> 3 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  4 +<%@ taglib prefix="myelfun" uri="/WEB-INF/tld/elfun.tld"%>
4 <% 5 <%
5 String path = request.getContextPath(); 6 String path = request.getContextPath();
6 String basePath = request.getScheme() + "://" 7 String basePath = request.getScheme() + "://"
@@ -87,7 +88,7 @@ @@ -87,7 +88,7 @@
87 <label class="pos-rel"><input type='checkbox' name='ids' value="${var.PAPERQUESTION_ID}" class="ace" /><span class="lbl"></span></label> 88 <label class="pos-rel"><input type='checkbox' name='ids' value="${var.PAPERQUESTION_ID}" class="ace" /><span class="lbl"></span></label>
88 </td> 89 </td>
89 <td class='center' style="width: 30px;">${vs.index+1}</td> 90 <td class='center' style="width: 30px;">${vs.index+1}</td>
90 - <td class='center'>${var.PAPER_ID}</td> 91 + <td class='center'>${myelfun:findPaperName(var.PAPER_ID)}</td>
91 <td class='center'>${var.QUESTION_ID}</td> 92 <td class='center'>${var.QUESTION_ID}</td>
92 <td class='center'>${var.SCORE}</td> 93 <td class='center'>${var.SCORE}</td>
93 <td class='center'>${var.PART_SCORE}</td> 94 <td class='center'>${var.PART_SCORE}</td>
WebRoot/WEB-INF/jsp/sunvote/question/question_list.jsp
@@ -83,7 +83,6 @@ @@ -83,7 +83,6 @@
83 <th class="center">题目来源</th> 83 <th class="center">题目来源</th>
84 <th class="center">建议试题总分</th> 84 <th class="center">建议试题总分</th>
85 <th class="center">建议部分分</th> 85 <th class="center">建议部分分</th>
86 - <th class="center">用户ID</th>  
87 <th class="center">创建时间</th> 86 <th class="center">创建时间</th>
88 <th class="center">备注</th> 87 <th class="center">备注</th>
89 <th class="center">操作</th> 88 <th class="center">操作</th>
@@ -101,12 +100,12 @@ @@ -101,12 +100,12 @@
101 <label class="pos-rel"><input type='checkbox' name='ids' value="${var.QUESTION_ID}" class="ace" /><span class="lbl"></span></label> 100 <label class="pos-rel"><input type='checkbox' name='ids' value="${var.QUESTION_ID}" class="ace" /><span class="lbl"></span></label>
102 </td> 101 </td>
103 <td class='center' style="width: 30px;">${vs.index+1}</td> 102 <td class='center' style="width: 30px;">${vs.index+1}</td>
104 - <td class='center'>${var.P_ID}</td>  
105 - <td class='center'>${var.SUBJECT_ID}</td> 103 + <td class='center'>${var.P_ID.equals("-1") ? "大题":""}</td>
  104 + <td class='center'>${myelfun:findSubjectCName(var.SUBJECT_ID)}</td>
106 <td class='center'>${var.CHAPTER_ID}</td> 105 <td class='center'>${var.CHAPTER_ID}</td>
107 - <td class='center'>${var.PROBLEM_TYPE_ID}</td>  
108 - <td class='center'>${var.TEACHER_ID}</td>  
109 - <td class='center'>${var.SCHOOL_ID}</td> 106 + <td class='center'>${myelfun:findQuestionTypeName(var.PROBLEM_TYPE_ID)}</td>
  107 + <td class='center'>${myelfun:findTeacherName(var.TEACHER_ID)}</td>
  108 + <td class='center'>${myelfun:findSchoolName(var.SCHOOL_ID)}</td>
110 <td class='center'>${var.KNOWLEDGE_ID}</td> 109 <td class='center'>${var.KNOWLEDGE_ID}</td>
111 <td class='center'>${var.CONTENT}</td> 110 <td class='center'>${var.CONTENT}</td>
112 <td class='center'>${var.OPTION_NUM}</td> 111 <td class='center'>${var.OPTION_NUM}</td>
@@ -117,7 +116,6 @@ @@ -117,7 +116,6 @@
117 <td class='center'>${var.QUESTION_FROM}</td> 116 <td class='center'>${var.QUESTION_FROM}</td>
118 <td class='center'>${var.SUG_SCORE}</td> 117 <td class='center'>${var.SUG_SCORE}</td>
119 <td class='center'>${var.SUG_PART_SCORE}</td> 118 <td class='center'>${var.SUG_PART_SCORE}</td>
120 - <td class='center'>${var.USER_ID}</td>  
121 <td class='center'>${var.CREATE_DATE}</td> 119 <td class='center'>${var.CREATE_DATE}</td>
122 <td class='center'>${var.REMARK}</td> 120 <td class='center'>${var.REMARK}</td>
123 <td class="center"> 121 <td class="center">
WebRoot/WEB-INF/jsp/sunvote/studenttest/studenttest_edit.jsp 0 → 100644
  1 +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  3 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  4 +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  5 +<%
  6 + String path = request.getContextPath();
  7 + String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  8 +%>
  9 +<!DOCTYPE html>
  10 +<html lang="en">
  11 + <head>
  12 + <base href="<%=basePath%>">
  13 + <!-- 下拉框 -->
  14 + <link rel="stylesheet" href="static/ace/css/chosen.css" />
  15 + <!-- jsp文件头和头部 -->
  16 + <%@ include file="../../system/index/top.jsp"%>
  17 + <!-- 日期框 -->
  18 + <link rel="stylesheet" href="static/ace/css/datepicker.css" />
  19 +</head>
  20 +<body class="no-skin">
  21 +<!-- /section:basics/navbar.layout -->
  22 +<div class="main-container" id="main-container">
  23 + <!-- /section:basics/sidebar -->
  24 + <div class="main-content">
  25 + <div class="main-content-inner">
  26 + <div class="page-content">
  27 + <div class="row">
  28 + <div class="col-xs-12">
  29 +
  30 + <form action="studenttest/${msg }.do" name="Form" id="Form" method="post">
  31 + <input type="hidden" name="STUDENTTEST_ID" id="STUDENTTEST_ID" value="${pd.STUDENTTEST_ID}"/>
  32 + <div id="zhongxin" style="padding-top: 13px;">
  33 + <table id="table_report" class="table table-striped table-bordered table-hover">
  34 + <tr>
  35 + <td style="width:75px;text-align: right;padding-top: 13px;">学生ID:</td>
  36 + <td><input type="text" name="STUDENT_ID" id="STUDENT_ID" value="${pd.STUDENT_ID}" maxlength="32" placeholder="这里输入学生ID" title="学生ID" style="width:98%;"/></td>
  37 + </tr>
  38 + <tr>
  39 + <td style="width:75px;text-align: right;padding-top: 13px;">测验ID:</td>
  40 + <td><input type="text" name="TEST_ID" id="TEST_ID" value="${pd.TEST_ID}" maxlength="32" placeholder="这里输入测验ID" title="测验ID" style="width:98%;"/></td>
  41 + </tr>
  42 + <tr>
  43 + <td style="width:75px;text-align: right;padding-top: 13px;">试卷ID:</td>
  44 + <td><input type="text" name="PAPER_ID" id="PAPER_ID" value="${pd.PAPER_ID}" maxlength="32" placeholder="这里输入试卷ID" title="试卷ID" style="width:98%;"/></td>
  45 + </tr>
  46 + <tr>
  47 + <td style="width:75px;text-align: right;padding-top: 13px;">得分:</td>
  48 + <td><input type="text" name="SCORE" id="SCORE" value="${pd.SCORE}" maxlength="10" placeholder="这里输入得分" title="得分" style="width:98%;"/></td>
  49 + </tr>
  50 + <tr>
  51 + <td style="width:75px;text-align: right;padding-top: 13px;">班级ID:</td>
  52 + <td><input type="text" name="CLASS_ID" id="CLASS_ID" value="${pd.CLASS_ID}" maxlength="255" placeholder="这里输入班级ID" title="班级ID" style="width:98%;"/></td>
  53 + </tr>
  54 + <tr>
  55 + <td style="text-align: center;" colspan="10">
  56 + <a class="btn btn-mini btn-primary" onclick="save();">保存</a>
  57 + <a class="btn btn-mini btn-danger" onclick="top.Dialog.close();">取消</a>
  58 + </td>
  59 + </tr>
  60 + </table>
  61 + </div>
  62 + <div id="zhongxin2" class="center" style="display:none"><br/><br/><br/><br/><br/><img src="static/images/jiazai.gif" /><br/><h4 class="lighter block green">提交中...</h4></div>
  63 + </form>
  64 + </div>
  65 + <!-- /.col -->
  66 + </div>
  67 + <!-- /.row -->
  68 + </div>
  69 + <!-- /.page-content -->
  70 + </div>
  71 + </div>
  72 + <!-- /.main-content -->
  73 +</div>
  74 +<!-- /.main-container -->
  75 +
  76 +
  77 + <!-- 页面底部js¨ -->
  78 + <%@ include file="../../system/index/foot.jsp"%>
  79 + <!-- 下拉框 -->
  80 + <script src="static/ace/js/chosen.jquery.js"></script>
  81 + <!-- 日期框 -->
  82 + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script>
  83 + <!--提示框-->
  84 + <script type="text/javascript" src="static/js/jquery.tips.js"></script>
  85 + <script type="text/javascript">
  86 + $(top.hangge());
  87 + //保存
  88 + function save(){
  89 + if($("#STUDENT_ID").val()==""){
  90 + $("#STUDENT_ID").tips({
  91 + side:3,
  92 + msg:'请输入学生ID',
  93 + bg:'#AE81FF',
  94 + time:2
  95 + });
  96 + $("#STUDENT_ID").focus();
  97 + return false;
  98 + }
  99 + if($("#TEST_ID").val()==""){
  100 + $("#TEST_ID").tips({
  101 + side:3,
  102 + msg:'请输入测验ID',
  103 + bg:'#AE81FF',
  104 + time:2
  105 + });
  106 + $("#TEST_ID").focus();
  107 + return false;
  108 + }
  109 + if($("#PAPER_ID").val()==""){
  110 + $("#PAPER_ID").tips({
  111 + side:3,
  112 + msg:'请输入试卷ID',
  113 + bg:'#AE81FF',
  114 + time:2
  115 + });
  116 + $("#PAPER_ID").focus();
  117 + return false;
  118 + }
  119 + if($("#SCORE").val()==""){
  120 + $("#SCORE").tips({
  121 + side:3,
  122 + msg:'请输入得分',
  123 + bg:'#AE81FF',
  124 + time:2
  125 + });
  126 + $("#SCORE").focus();
  127 + return false;
  128 + }
  129 + if($("#CLASS_ID").val()==""){
  130 + $("#CLASS_ID").tips({
  131 + side:3,
  132 + msg:'请输入班级ID',
  133 + bg:'#AE81FF',
  134 + time:2
  135 + });
  136 + $("#CLASS_ID").focus();
  137 + return false;
  138 + }
  139 + $("#Form").submit();
  140 + $("#zhongxin").hide();
  141 + $("#zhongxin2").show();
  142 + }
  143 +
  144 + $(function() {
  145 + //日期框
  146 + $('.date-picker').datepicker({autoclose: true,todayHighlight: true});
  147 + });
  148 + </script>
  149 +</body>
  150 +</html>
0 \ No newline at end of file 151 \ No newline at end of file
WebRoot/WEB-INF/jsp/sunvote/studenttest/studenttest_list.jsp 0 → 100644
  1 +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  3 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  4 +<%
  5 + String path = request.getContextPath();
  6 + String basePath = request.getScheme() + "://"
  7 + + request.getServerName() + ":" + request.getServerPort()
  8 + + path + "/";
  9 +%>
  10 +<!DOCTYPE html>
  11 +<html lang="en">
  12 +<head>
  13 +<base href="<%=basePath%>">
  14 +<!-- 下拉框 -->
  15 +<link rel="stylesheet" href="static/ace/css/chosen.css" />
  16 +<!-- jsp文件头和头部 -->
  17 +<%@ include file="../../system/index/top.jsp"%>
  18 +<!-- 日期框 -->
  19 +<link rel="stylesheet" href="static/ace/css/datepicker.css" />
  20 +</head>
  21 +<body class="no-skin">
  22 +
  23 + <!-- /section:basics/navbar.layout -->
  24 + <div class="main-container" id="main-container">
  25 + <!-- /section:basics/sidebar -->
  26 + <div class="main-content">
  27 + <div class="main-content-inner">
  28 + <div class="page-content">
  29 + <div class="row">
  30 + <div class="col-xs-12">
  31 +
  32 + <!-- 检索 -->
  33 + <form action="studenttest/list.do" method="post" name="Form" id="Form">
  34 + <table style="margin-top:5px;">
  35 + <tr>
  36 + <td>
  37 + <div class="nav-search">
  38 + <span class="input-icon">
  39 + <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/>
  40 + <i class="ace-icon fa fa-search nav-search-icon"></i>
  41 + </span>
  42 + </div>
  43 + </td>
  44 + <td style="padding-left:2px;"><input class="span10 date-picker" name="lastStart" id="lastStart" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="开始日期" title="开始日期"/></td>
  45 + <td style="padding-left:2px;"><input class="span10 date-picker" name="lastEnd" name="lastEnd" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="结束日期" title="结束日期"/></td>
  46 + <td style="vertical-align:top;padding-left:2px;">
  47 + <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;">
  48 + <option value=""></option>
  49 + <option value="">全部</option>
  50 + <option value="">1</option>
  51 + <option value="">2</option>
  52 + </select>
  53 + </td>
  54 + <c:if test="${QX.cha == 1 }">
  55 + <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td>
  56 + </c:if>
  57 + <c:if test="${QX.toExcel == 1 }"><td style="vertical-align:top;padding-left:2px;"><a class="btn btn-light btn-xs" onclick="toExcel();" title="导出到EXCEL"><i id="nav-search-icon" class="ace-icon fa fa-download bigger-110 nav-search-icon blue"></i></a></td></c:if>
  58 + </tr>
  59 + </table>
  60 + <!-- 检索 -->
  61 +
  62 + <table id="simple-table" class="table table-striped table-bordered table-hover" style="margin-top:5px;">
  63 + <thead>
  64 + <tr>
  65 + <th class="center" style="width:35px;">
  66 + <label class="pos-rel"><input type="checkbox" class="ace" id="zcheckbox" /><span class="lbl"></span></label>
  67 + </th>
  68 + <th class="center" style="width:50px;">序号</th>
  69 + <th class="center">学生ID</th>
  70 + <th class="center">测验ID</th>
  71 + <th class="center">试卷ID</th>
  72 + <th class="center">得分</th>
  73 + <th class="center">班级ID</th>
  74 + <th class="center">操作</th>
  75 + </tr>
  76 + </thead>
  77 +
  78 + <tbody>
  79 + <!-- 开始循环 -->
  80 + <c:choose>
  81 + <c:when test="${not empty varList}">
  82 + <c:if test="${QX.cha == 1 }">
  83 + <c:forEach items="${varList}" var="var" varStatus="vs">
  84 + <tr>
  85 + <td class='center'>
  86 + <label class="pos-rel"><input type='checkbox' name='ids' value="${var.STUDENTTEST_ID}" class="ace" /><span class="lbl"></span></label>
  87 + </td>
  88 + <td class='center' style="width: 30px;">${vs.index+1}</td>
  89 + <td class='center'>${var.STUDENT_ID}</td>
  90 + <td class='center'>${var.TEST_ID}</td>
  91 + <td class='center'>${var.PAPER_ID}</td>
  92 + <td class='center'>${var.SCORE}</td>
  93 + <td class='center'>${var.CLASS_ID}</td>
  94 + <td class="center">
  95 + <c:if test="${QX.edit != 1 && QX.del != 1 }">
  96 + <span class="label label-large label-grey arrowed-in-right arrowed-in"><i class="ace-icon fa fa-lock" title="无权限"></i></span>
  97 + </c:if>
  98 + <div class="hidden-sm hidden-xs btn-group">
  99 + <c:if test="${QX.edit == 1 }">
  100 + <a class="btn btn-xs btn-success" title="编辑" onclick="edit('${var.STUDENTTEST_ID}');">
  101 + <i class="ace-icon fa fa-pencil-square-o bigger-120" title="编辑"></i>
  102 + </a>
  103 + </c:if>
  104 + <c:if test="${QX.del == 1 }">
  105 + <a class="btn btn-xs btn-danger" onclick="del('${var.STUDENTTEST_ID}');">
  106 + <i class="ace-icon fa fa-trash-o bigger-120" title="删除"></i>
  107 + </a>
  108 + </c:if>
  109 + </div>
  110 + <div class="hidden-md hidden-lg">
  111 + <div class="inline pos-rel">
  112 + <button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto">
  113 + <i class="ace-icon fa fa-cog icon-only bigger-110"></i>
  114 + </button>
  115 +
  116 + <ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
  117 + <c:if test="${QX.edit == 1 }">
  118 + <li>
  119 + <a style="cursor:pointer;" onclick="edit('${var.STUDENTTEST_ID}');" class="tooltip-success" data-rel="tooltip" title="修改">
  120 + <span class="green">
  121 + <i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
  122 + </span>
  123 + </a>
  124 + </li>
  125 + </c:if>
  126 + <c:if test="${QX.del == 1 }">
  127 + <li>
  128 + <a style="cursor:pointer;" onclick="del('${var.STUDENTTEST_ID}');" class="tooltip-error" data-rel="tooltip" title="删除">
  129 + <span class="red">
  130 + <i class="ace-icon fa fa-trash-o bigger-120"></i>
  131 + </span>
  132 + </a>
  133 + </li>
  134 + </c:if>
  135 + </ul>
  136 + </div>
  137 + </div>
  138 + </td>
  139 + </tr>
  140 +
  141 + </c:forEach>
  142 + </c:if>
  143 + <c:if test="${QX.cha == 0 }">
  144 + <tr>
  145 + <td colspan="100" class="center">您无权查看</td>
  146 + </tr>
  147 + </c:if>
  148 + </c:when>
  149 + <c:otherwise>
  150 + <tr class="main_info">
  151 + <td colspan="100" class="center" >没有相关数据</td>
  152 + </tr>
  153 + </c:otherwise>
  154 + </c:choose>
  155 + </tbody>
  156 + </table>
  157 + <div class="page-header position-relative">
  158 + <table style="width:100%;">
  159 + <tr>
  160 + <td style="vertical-align:top;">
  161 + <c:if test="${QX.add == 1 }">
  162 + <a class="btn btn-mini btn-success" onclick="add();">新增</a>
  163 + </c:if>
  164 + <c:if test="${QX.del == 1 }">
  165 + <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a>
  166 + </c:if>
  167 + </td>
  168 + <td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td>
  169 + </tr>
  170 + </table>
  171 + </div>
  172 + </form>
  173 +
  174 + </div>
  175 + <!-- /.col -->
  176 + </div>
  177 + <!-- /.row -->
  178 + </div>
  179 + <!-- /.page-content -->
  180 + </div>
  181 + </div>
  182 + <!-- /.main-content -->
  183 +
  184 + <!-- 返回顶部 -->
  185 + <a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
  186 + <i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
  187 + </a>
  188 +
  189 + </div>
  190 + <!-- /.main-container -->
  191 +
  192 + <!-- basic scripts -->
  193 + <!-- 页面底部js¨ -->
  194 + <%@ include file="../../system/index/foot.jsp"%>
  195 + <!-- 删除时确认窗口 -->
  196 + <script src="static/ace/js/bootbox.js"></script>
  197 + <!-- ace scripts -->
  198 + <script src="static/ace/js/ace/ace.js"></script>
  199 + <!-- 下拉框 -->
  200 + <script src="static/ace/js/chosen.jquery.js"></script>
  201 + <!-- 日期框 -->
  202 + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script>
  203 + <!--提示框-->
  204 + <script type="text/javascript" src="static/js/jquery.tips.js"></script>
  205 + <script type="text/javascript">
  206 + $(top.hangge());//关闭加载状态
  207 + //检索
  208 + function tosearch(){
  209 + top.jzts();
  210 + $("#Form").submit();
  211 + }
  212 + $(function() {
  213 +
  214 + //日期框
  215 + $('.date-picker').datepicker({
  216 + autoclose: true,
  217 + todayHighlight: true
  218 + });
  219 +
  220 + //下拉框
  221 + if(!ace.vars['touch']) {
  222 + $('.chosen-select').chosen({allow_single_deselect:true});
  223 + $(window)
  224 + .off('resize.chosen')
  225 + .on('resize.chosen', function() {
  226 + $('.chosen-select').each(function() {
  227 + var $this = $(this);
  228 + $this.next().css({'width': $this.parent().width()});
  229 + });
  230 + }).trigger('resize.chosen');
  231 + $(document).on('settings.ace.chosen', function(e, event_name, event_val) {
  232 + if(event_name != 'sidebar_collapsed') return;
  233 + $('.chosen-select').each(function() {
  234 + var $this = $(this);
  235 + $this.next().css({'width': $this.parent().width()});
  236 + });
  237 + });
  238 + $('#chosen-multiple-style .btn').on('click', function(e){
  239 + var target = $(this).find('input[type=radio]');
  240 + var which = parseInt(target.val());
  241 + if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
  242 + else $('#form-field-select-4').removeClass('tag-input-style');
  243 + });
  244 + }
  245 +
  246 +
  247 + //复选框全选控制
  248 + var active_class = 'active';
  249 + $('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
  250 + var th_checked = this.checked;//checkbox inside "TH" table header
  251 + $(this).closest('table').find('tbody > tr').each(function(){
  252 + var row = this;
  253 + if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
  254 + else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
  255 + });
  256 + });
  257 + });
  258 +
  259 + //新增
  260 + function add(){
  261 + top.jzts();
  262 + var diag = new top.Dialog();
  263 + diag.Drag=true;
  264 + diag.Title ="新增";
  265 + diag.URL = '<%=basePath%>studenttest/goAdd.do';
  266 + diag.Width = 450;
  267 + diag.Height = 355;
  268 + diag.Modal = true; //有无遮罩窗口
  269 + diag. ShowMaxButton = true; //最大化按钮
  270 + diag.ShowMinButton = true; //最小化按钮
  271 + diag.CancelEvent = function(){ //关闭事件
  272 + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){
  273 + if('${page.currentPage}' == '0'){
  274 + tosearch();
  275 + }else{
  276 + tosearch();
  277 + }
  278 + }
  279 + diag.close();
  280 + };
  281 + diag.show();
  282 + }
  283 +
  284 + //删除
  285 + function del(Id){
  286 + bootbox.confirm("确定要删除吗?", function(result) {
  287 + if(result) {
  288 + top.jzts();
  289 + var url = "<%=basePath%>studenttest/delete.do?STUDENTTEST_ID="+Id+"&tm="+new Date().getTime();
  290 + $.get(url,function(data){
  291 + tosearch();
  292 + });
  293 + }
  294 + });
  295 + }
  296 +
  297 + //修改
  298 + function edit(Id){
  299 + top.jzts();
  300 + var diag = new top.Dialog();
  301 + diag.Drag=true;
  302 + diag.Title ="编辑";
  303 + diag.URL = '<%=basePath%>studenttest/goEdit.do?STUDENTTEST_ID='+Id;
  304 + diag.Width = 450;
  305 + diag.Height = 355;
  306 + diag.Modal = true; //有无遮罩窗口
  307 + diag. ShowMaxButton = true; //最大化按钮
  308 + diag.ShowMinButton = true; //最小化按钮
  309 + diag.CancelEvent = function(){ //关闭事件
  310 + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){
  311 + tosearch();
  312 + }
  313 + diag.close();
  314 + };
  315 + diag.show();
  316 + }
  317 +
  318 + //批量操作
  319 + function makeAll(msg){
  320 + bootbox.confirm(msg, function(result) {
  321 + if(result) {
  322 + var str = '';
  323 + for(var i=0;i < document.getElementsByName('ids').length;i++){
  324 + if(document.getElementsByName('ids')[i].checked){
  325 + if(str=='') str += document.getElementsByName('ids')[i].value;
  326 + else str += ',' + document.getElementsByName('ids')[i].value;
  327 + }
  328 + }
  329 + if(str==''){
  330 + bootbox.dialog({
  331 + message: "<span class='bigger-110'>您没有选择任何内容!</span>",
  332 + buttons:
  333 + { "button":{ "label":"确定", "className":"btn-sm btn-success"}}
  334 + });
  335 + $("#zcheckbox").tips({
  336 + side:1,
  337 + msg:'点这里全选',
  338 + bg:'#AE81FF',
  339 + time:8
  340 + });
  341 + return;
  342 + }else{
  343 + if(msg == '确定要删除选中的数据吗?'){
  344 + top.jzts();
  345 + $.ajax({
  346 + type: "POST",
  347 + url: '<%=basePath%>studenttest/deleteAll.do?tm='+new Date().getTime(),
  348 + data: {DATA_IDS:str},
  349 + dataType:'json',
  350 + //beforeSend: validateData,
  351 + cache: false,
  352 + success: function(data){
  353 + $.each(data.list, function(i, list){
  354 + tosearch();
  355 + });
  356 + }
  357 + });
  358 + }
  359 + }
  360 + }
  361 + });
  362 + };
  363 +
  364 + //导出excel
  365 + function toExcel(){
  366 + window.location.href='<%=basePath%>studenttest/excel.do';
  367 + }
  368 + </script>
  369 +
  370 +
  371 +</body>
  372 +</html>
0 \ No newline at end of file 373 \ No newline at end of file
WebRoot/WEB-INF/tld/elfun.tld
@@ -90,7 +90,7 @@ @@ -90,7 +90,7 @@
90 <description>根据ID查找教材名称</description><!-- 对该标签的说明 --> 90 <description>根据ID查找教材名称</description><!-- 对该标签的说明 -->
91 <name>findTeachingmaterialName</name><!-- 定义标签名,放在短标签之后 --> 91 <name>findTeachingmaterialName</name><!-- 定义标签名,放在短标签之后 -->
92 <function-class>com.fh.controller.sunvote.Myelfun</function-class><!-- 标签处理域值的类路径 --> 92 <function-class>com.fh.controller.sunvote.Myelfun</function-class><!-- 标签处理域值的类路径 -->
93 - <function-signature>java.lang.String findTeachingmaterialName(String)</function-signature><!-- 标签处理域值的具体的类方法 --> 93 + <function-signature>java.lang.String findTeachingmaterialName(java.lang.String)</function-signature><!-- 标签处理域值的具体的类方法 -->
94 <example>${myelfun:findTeachingmaterialName(obj1)}</example><!-- 自定义标签的使用示范 ,域参数会自动传递到具体的方法里面--> 94 <example>${myelfun:findTeachingmaterialName(obj1)}</example><!-- 自定义标签的使用示范 ,域参数会自动传递到具体的方法里面-->
95 </function> 95 </function>
96 96
@@ -98,9 +98,34 @@ @@ -98,9 +98,34 @@
98 <description>根据ID查找题目类型</description><!-- 对该标签的说明 --> 98 <description>根据ID查找题目类型</description><!-- 对该标签的说明 -->
99 <name>findQuestionTypeName</name><!-- 定义标签名,放在短标签之后 --> 99 <name>findQuestionTypeName</name><!-- 定义标签名,放在短标签之后 -->
100 <function-class>com.fh.controller.sunvote.Myelfun</function-class><!-- 标签处理域值的类路径 --> 100 <function-class>com.fh.controller.sunvote.Myelfun</function-class><!-- 标签处理域值的类路径 -->
101 - <function-signature>java.lang.String findQuestionTypeName(String)</function-signature><!-- 标签处理域值的具体的类方法 --> 101 + <function-signature>java.lang.String findQuestionTypeName(java.lang.String)</function-signature><!-- 标签处理域值的具体的类方法 -->
102 <example>${myelfun:findQuestionTypeName(obj1)}</example><!-- 自定义标签的使用示范 ,域参数会自动传递到具体的方法里面--> 102 <example>${myelfun:findQuestionTypeName(obj1)}</example><!-- 自定义标签的使用示范 ,域参数会自动传递到具体的方法里面-->
103 </function> 103 </function>
104 104
  105 + <function>
  106 + <description>根据ID查找试卷类型</description><!-- 对该标签的说明 -->
  107 + <name>findPaperTypeName</name><!-- 定义标签名,放在短标签之后 -->
  108 + <function-class>com.fh.controller.sunvote.Myelfun</function-class><!-- 标签处理域值的类路径 -->
  109 + <function-signature>java.lang.String findPaperTypeName(java.lang.String)</function-signature><!-- 标签处理域值的具体的类方法 -->
  110 + <example>${myelfun:findPaperTypeName(obj1)}</example><!-- 自定义标签的使用示范 ,域参数会自动传递到具体的方法里面-->
  111 + </function>
  112 +
  113 + <function>
  114 + <description>根据ID查找试卷名称</description><!-- 对该标签的说明 -->
  115 + <name>findPaperName</name><!-- 定义标签名,放在短标签之后 -->
  116 + <function-class>com.fh.controller.sunvote.Myelfun</function-class><!-- 标签处理域值的类路径 -->
  117 + <function-signature>java.lang.String findPaperName(java.lang.String)</function-signature><!-- 标签处理域值的具体的类方法 -->
  118 + <example>${myelfun:findPaperName(obj1)}</example><!-- 自定义标签的使用示范 ,域参数会自动传递到具体的方法里面-->
  119 + </function>
  120 +
  121 + <function>
  122 + <description>根据ID查找试卷名称</description><!-- 对该标签的说明 -->
  123 + <name>findTestPaperName</name><!-- 定义标签名,放在短标签之后 -->
  124 + <function-class>com.fh.controller.sunvote.Myelfun</function-class><!-- 标签处理域值的类路径 -->
  125 + <function-signature>java.lang.String findTestPaperName(java.lang.String)</function-signature><!-- 标签处理域值的具体的类方法 -->
  126 + <example>${myelfun:findTestPaperName(obj1)}</example><!-- 自定义标签的使用示范 ,域参数会自动传递到具体的方法里面-->
  127 + </function>
  128 +
  129 +
105 130
106 </taglib> 131 </taglib>
WebRoot/afterService/document/新东方售后政策&改善说明.pdf
No preview for this file type
resources/mybatis1/sunvote/StudentTestMapper.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="StudentTestMapper">
  4 +
  5 + <!--表名 -->
  6 + <sql id="tableName">
  7 + SV_STUDENTTEST
  8 + </sql>
  9 +
  10 + <!-- 字段 -->
  11 + <sql id="Field">
  12 + STUDENT_ID,
  13 + TEST_ID,
  14 + PAPER_ID,
  15 + SCORE,
  16 + CLASS_ID,
  17 + STUDENTTEST_ID
  18 + </sql>
  19 +
  20 + <!-- 字段值 -->
  21 + <sql id="FieldValue">
  22 + #{STUDENT_ID},
  23 + #{TEST_ID},
  24 + #{PAPER_ID},
  25 + #{SCORE},
  26 + #{CLASS_ID},
  27 + #{STUDENTTEST_ID}
  28 + </sql>
  29 +
  30 + <!-- 新增-->
  31 + <insert id="save" parameterType="pd">
  32 + insert into
  33 + <include refid="tableName"></include>
  34 + (
  35 + <include refid="Field"></include>
  36 + ) values (
  37 + <include refid="FieldValue"></include>
  38 + )
  39 + </insert>
  40 +
  41 + <!-- 删除-->
  42 + <delete id="delete" parameterType="pd">
  43 + delete from
  44 + <include refid="tableName"></include>
  45 + where
  46 + STUDENTTEST_ID = #{STUDENTTEST_ID}
  47 + </delete>
  48 +
  49 + <!-- 修改 -->
  50 + <update id="edit" parameterType="pd">
  51 + update
  52 + <include refid="tableName"></include>
  53 + set
  54 + STUDENT_ID = #{STUDENT_ID},
  55 + TEST_ID = #{TEST_ID},
  56 + PAPER_ID = #{PAPER_ID},
  57 + SCORE = #{SCORE},
  58 + CLASS_ID = #{CLASS_ID},
  59 + STUDENTTEST_ID = STUDENTTEST_ID
  60 + where
  61 + STUDENTTEST_ID = #{STUDENTTEST_ID}
  62 + </update>
  63 +
  64 + <!-- 通过ID获取数据 -->
  65 + <select id="findById" parameterType="pd" resultType="pd">
  66 + select
  67 + <include refid="Field"></include>
  68 + from
  69 + <include refid="tableName"></include>
  70 + where
  71 + STUDENTTEST_ID = #{STUDENTTEST_ID}
  72 + </select>
  73 +
  74 + <!-- 列表 -->
  75 + <select id="datalistPage" parameterType="page" resultType="pd">
  76 + select
  77 + <include refid="Field"></include>
  78 + from
  79 + <include refid="tableName"></include>
  80 + where 1=1
  81 + <if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 -->
  82 + and
  83 + (
  84 + <!-- 根据需求自己加检索条件
  85 + 字段1 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%')
  86 + or
  87 + 字段2 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%')
  88 + -->
  89 + )
  90 + </if>
  91 + </select>
  92 +
  93 + <!-- 列表(全部) -->
  94 + <select id="listAll" parameterType="pd" resultType="pd">
  95 + select
  96 + <include refid="Field"></include>
  97 + from
  98 + <include refid="tableName"></include>
  99 + where 1= 1
  100 + <if test="TEST_ID != null and TEST_ID != ''"><!-- 关键词检索 -->
  101 + and (TEST_ID = #{TEST_ID})
  102 + </if>
  103 +
  104 + <if test="PAPER_ID != null and PAPER_ID != ''"><!-- 关键词检索 -->
  105 + and (PAPER_ID = #{PAPER_ID})
  106 + </if>
  107 +
  108 + <if test="CLASS_ID != null and CLASS_ID != ''"><!-- 关键词检索 -->
  109 + and (CLASS_ID = #{CLASS_ID})
  110 + </if>
  111 +
  112 + <if test="STUDENT_ID != null and STUDENT_ID != ''"><!-- 关键词检索 -->
  113 + and (STUDENT_ID = #{STUDENT_ID})
  114 + </if>
  115 + </select>
  116 +
  117 + <!-- 批量删除 -->
  118 + <delete id="deleteAll" parameterType="String">
  119 + delete from
  120 + <include refid="tableName"></include>
  121 + where
  122 + STUDENTTEST_ID in
  123 + <foreach item="item" index="index" collection="array" open="(" separator="," close=")">
  124 + #{item}
  125 + </foreach>
  126 + </delete>
  127 +
  128 + <!-- fh313596790qq(青苔) -->
  129 +</mapper>
0 \ No newline at end of file 130 \ No newline at end of file
resources/mybatis1/sunvote/TestPaperInfoMapper.xml
@@ -23,6 +23,7 @@ @@ -23,6 +23,7 @@
23 SUBJECTIVE, 23 SUBJECTIVE,
24 NOTE, 24 NOTE,
25 MARK_NO, 25 MARK_NO,
  26 + RANK,
26 TESTPAPERINFO_ID 27 TESTPAPERINFO_ID
27 </sql> 28 </sql>
28 29
@@ -42,6 +43,7 @@ @@ -42,6 +43,7 @@
42 #{SUBJECTIVE}, 43 #{SUBJECTIVE},
43 #{NOTE}, 44 #{NOTE},
44 #{MARK_NO}, 45 #{MARK_NO},
  46 + #{RANK},
45 #{TESTPAPERINFO_ID} 47 #{TESTPAPERINFO_ID}
46 </sql> 48 </sql>
47 49
@@ -83,6 +85,7 @@ @@ -83,6 +85,7 @@
83 SUBJECTIVE = #{SUBJECTIVE}, 85 SUBJECTIVE = #{SUBJECTIVE},
84 NOTE = #{NOTE}, 86 NOTE = #{NOTE},
85 MARK_NO = #{MARK_NO}, 87 MARK_NO = #{MARK_NO},
  88 + RANK = #{RANK},
86 TESTPAPERINFO_ID = TESTPAPERINFO_ID 89 TESTPAPERINFO_ID = TESTPAPERINFO_ID
87 where 90 where
88 TESTPAPERINFO_ID = #{TESTPAPERINFO_ID} 91 TESTPAPERINFO_ID = #{TESTPAPERINFO_ID}
@@ -123,8 +126,22 @@ @@ -123,8 +126,22 @@
123 <include refid="Field"></include> 126 <include refid="Field"></include>
124 from 127 from
125 <include refid="tableName"></include> 128 <include refid="tableName"></include>
  129 + where 1 =1
  130 + <if test="TEST_ID != null and TEST_ID != ''">
  131 + and TEST_ID = #{TEST_ID}
  132 + </if>
  133 + <if test="STUDENT_ID != null and STUDENT_ID != ''">
  134 + and STUDENT_ID = #{STUDENT_ID}
  135 + </if>
  136 + <if test="PAPER_ID != null and PAPER_ID != ''">
  137 + and PAPER_ID = #{PAPER_ID}
  138 + </if>
  139 + <if test="QUESTION_ID != null and QUESTION_ID != ''">
  140 + and QUESTION_ID = #{QUESTION_ID}
  141 + </if>
126 </select> 142 </select>
127 143
  144 +
128 <!-- 批量删除 --> 145 <!-- 批量删除 -->
129 <delete id="deleteAll" parameterType="String"> 146 <delete id="deleteAll" parameterType="String">
130 delete from 147 delete from
resources/mybatis1/sunvote/TestPaperMapper.xml
@@ -117,6 +117,22 @@ @@ -117,6 +117,22 @@
117 <include refid="Field"></include> 117 <include refid="Field"></include>
118 from 118 from
119 <include refid="tableName"></include> 119 <include refid="tableName"></include>
  120 +
  121 + where 1 =1
  122 +
  123 + <if test="PAPER_ID != null and PAPER_ID != ''"><!-- 关键词检索 -->
  124 + and (PAPER_ID = #{PAPER_ID})
  125 + </if>
  126 + <if test="CLASS_ID != null and CLASS_ID != ''"><!-- 关键词检索 -->
  127 + and (SCLASS_ID = #{CLASS_ID})
  128 + </if>
  129 + <if test="TEACHER_ID != null and TEACHER_ID != ''"><!-- 关键词检索 -->
  130 + and (TEACHER_ID = #{TEACHER_ID})
  131 + </if>
  132 + <if test="NAME != null and NAME != ''"><!-- 关键词检索 -->
  133 + and (NAME = #{NAME})
  134 + </if>
  135 +
120 </select> 136 </select>
121 137
122 <!-- 批量删除 --> 138 <!-- 批量删除 -->
src/com/fh/bean/StudentAnswer.java 0 → 100644
  1 +package com.fh.bean;
  2 +
  3 +import java.util.ArrayList;
  4 +import java.util.List;
  5 +
  6 +import com.google.gson.Gson;
  7 +
  8 +public class StudentAnswer {
  9 +
  10 + private String studentId;
  11 +
  12 + private String score;
  13 +
  14 + private List<TestPaperInfo> questions = new ArrayList<TestPaperInfo>();
  15 +
  16 + public String getStudentId() {
  17 + return studentId;
  18 + }
  19 +
  20 + public void setStudentId(String studentId) {
  21 + this.studentId = studentId;
  22 + }
  23 +
  24 + public String getScore() {
  25 + return score;
  26 + }
  27 +
  28 + public void setScore(String score) {
  29 + this.score = score;
  30 + }
  31 +
  32 + public List<TestPaperInfo> getQuestions() {
  33 + return questions;
  34 + }
  35 +
  36 + public void setQuestions(List<TestPaperInfo> questions) {
  37 + this.questions = questions;
  38 + }
  39 +
  40 +
  41 + public static StudentAnswer parse(String json){
  42 + Gson gson = new Gson();
  43 + return gson.fromJson(json, StudentAnswer.class);
  44 + }
  45 +
  46 + public String toJson(){
  47 + Gson gson = new Gson();
  48 + return gson.toJson(this);
  49 + }
  50 +
  51 +
  52 +}
src/com/fh/bean/TestPaper.java 0 → 100644
  1 +package com.fh.bean;
  2 +
  3 +import java.util.ArrayList;
  4 +import java.util.List;
  5 +
  6 +import com.google.gson.Gson;
  7 +
  8 +public class TestPaper {
  9 +
  10 + // 测试ID
  11 + private String testpaperId ;
  12 +
  13 + // 测验标题
  14 + private String name ;
  15 +
  16 + // 试卷ID
  17 + private String paperId ;
  18 +
  19 + // 班级ID
  20 + private String classId ;
  21 +
  22 + // 教师ID
  23 + private String teacherId ;
  24 +
  25 + // 开始日期
  26 + private String startDate ;
  27 +
  28 + //结束日期
  29 + private String endDate ;
  30 +
  31 + //创建日期
  32 + private String createDate ;
  33 +
  34 + // 其他分数
  35 + private String otherScore ;
  36 +
  37 + // 最高分
  38 + private String highScore ;
  39 +
  40 + //最低分
  41 + private String lowScore ;
  42 +
  43 + // 平均分
  44 + private String avgScore ;
  45 +
  46 + // 备注
  47 + private String remark ;
  48 +
  49 + private List<StudentAnswer> students = new ArrayList<StudentAnswer>();
  50 +
  51 + public String getTestpaperId() {
  52 + return testpaperId;
  53 + }
  54 +
  55 + public void setTestpaperId(String testpaperId) {
  56 + this.testpaperId = testpaperId;
  57 + }
  58 +
  59 + public String getName() {
  60 + return name;
  61 + }
  62 +
  63 + public void setName(String name) {
  64 + this.name = name;
  65 + }
  66 +
  67 + public String getPaperId() {
  68 + return paperId;
  69 + }
  70 +
  71 + public void setPaperId(String paperId) {
  72 + this.paperId = paperId;
  73 + }
  74 +
  75 +
  76 +
  77 + public String getClassId() {
  78 + return classId;
  79 + }
  80 +
  81 + public void setClassId(String classId) {
  82 + this.classId = classId;
  83 + }
  84 +
  85 + public String getTeacherId() {
  86 + return teacherId;
  87 + }
  88 +
  89 + public void setTeacherId(String teacherId) {
  90 + this.teacherId = teacherId;
  91 + }
  92 +
  93 + public String getStartDate() {
  94 + return startDate;
  95 + }
  96 +
  97 + public void setStartDate(String startDate) {
  98 + this.startDate = startDate;
  99 + }
  100 +
  101 + public String getEndDate() {
  102 + return endDate;
  103 + }
  104 +
  105 + public void setEndDate(String endDate) {
  106 + this.endDate = endDate;
  107 + }
  108 +
  109 + public String getCreateDate() {
  110 + return createDate;
  111 + }
  112 +
  113 + public void setCreateDate(String createDate) {
  114 + this.createDate = createDate;
  115 + }
  116 +
  117 + public String getOtherScore() {
  118 + return otherScore;
  119 + }
  120 +
  121 + public void setOtherScore(String otherScore) {
  122 + this.otherScore = otherScore;
  123 + }
  124 +
  125 + public String getHighScore() {
  126 + return highScore;
  127 + }
  128 +
  129 + public void setHighScore(String highScore) {
  130 + this.highScore = highScore;
  131 + }
  132 +
  133 + public String getLowScore() {
  134 + return lowScore;
  135 + }
  136 +
  137 + public void setLowScore(String lowScore) {
  138 + this.lowScore = lowScore;
  139 + }
  140 +
  141 + public String getAvgScore() {
  142 + return avgScore;
  143 + }
  144 +
  145 + public void setAvgScore(String avgScore) {
  146 + this.avgScore = avgScore;
  147 + }
  148 +
  149 + public String getRemark() {
  150 + return remark;
  151 + }
  152 +
  153 + public void setRemark(String remark) {
  154 + this.remark = remark;
  155 + }
  156 +
  157 +
  158 + public List<StudentAnswer> getStudents() {
  159 + return students;
  160 + }
  161 +
  162 + public void setStudents(List<StudentAnswer> students) {
  163 + this.students = students;
  164 + }
  165 +
  166 + public static TestPaper parse(String json){
  167 + Gson gson = new Gson();
  168 + return gson.fromJson(json, TestPaper.class);
  169 + }
  170 +
  171 + public String toJson(){
  172 + Gson gson = new Gson();
  173 + return gson.toJson(this);
  174 + }
  175 +
  176 +}
src/com/fh/bean/TestPaperInfo.java 0 → 100644
  1 +package com.fh.bean;
  2 +
  3 +import com.google.gson.Gson;
  4 +
  5 +public class TestPaperInfo {
  6 +
  7 + // 测试试卷ID
  8 + private String testPaperInfoId ;
  9 +
  10 + // 问题ID
  11 + private String questionId ;
  12 +
  13 + // 答案
  14 + private String answer ;
  15 +
  16 + // 是否正确
  17 + private String right;
  18 +
  19 + // 分数
  20 + private String score ;
  21 +
  22 +
  23 + // 是否点赞
  24 + private String likes ;
  25 +
  26 + // 回答类型
  27 + private String answerType ;
  28 +
  29 + // 按键时间
  30 + private String pressTime ;
  31 +
  32 + // 接收时间
  33 + private String receiverDate ;
  34 +
  35 + // 是否主观题
  36 + private String subjective ;
  37 +
  38 + // 笔记
  39 + private String note;
  40 +
  41 + // 标记等级
  42 + private String markNo ;
  43 +
  44 + // 排序
  45 + private String rank ;
  46 +
  47 +
  48 + public String getTestPaperInfoId() {
  49 + return testPaperInfoId;
  50 + }
  51 +
  52 + public void setTestPaperInfoId(String testPaperInfoId) {
  53 + this.testPaperInfoId = testPaperInfoId;
  54 + }
  55 +
  56 + public String getQuestionId() {
  57 + return questionId;
  58 + }
  59 +
  60 + public void setQuestionId(String questionId) {
  61 + this.questionId = questionId;
  62 + }
  63 +
  64 + public String getAnswer() {
  65 + return answer;
  66 + }
  67 +
  68 + public void setAnswer(String answer) {
  69 + this.answer = answer;
  70 + }
  71 +
  72 + public String getRight() {
  73 + return right;
  74 + }
  75 +
  76 + public void setRight(String right) {
  77 + this.right = right;
  78 + }
  79 +
  80 + public String getScore() {
  81 + return score;
  82 + }
  83 +
  84 + public void setScore(String score) {
  85 + this.score = score;
  86 + }
  87 +
  88 + public String getLikes() {
  89 + return likes;
  90 + }
  91 +
  92 + public void setLikes(String likes) {
  93 + this.likes = likes;
  94 + }
  95 +
  96 + public String getAnswerType() {
  97 + return answerType;
  98 + }
  99 +
  100 + public void setAnswerType(String answerType) {
  101 + this.answerType = answerType;
  102 + }
  103 +
  104 + public String getPressTime() {
  105 + return pressTime;
  106 + }
  107 +
  108 + public void setPressTime(String pressTime) {
  109 + this.pressTime = pressTime;
  110 + }
  111 +
  112 + public String getReceiverDate() {
  113 + return receiverDate;
  114 + }
  115 +
  116 + public void setReceiverDate(String receiverDate) {
  117 + this.receiverDate = receiverDate;
  118 + }
  119 +
  120 + public String getSubjective() {
  121 + return subjective;
  122 + }
  123 +
  124 + public void setSubjective(String subjective) {
  125 + this.subjective = subjective;
  126 + }
  127 +
  128 + public String getNote() {
  129 + return note;
  130 + }
  131 +
  132 + public void setNote(String note) {
  133 + this.note = note;
  134 + }
  135 +
  136 + public String getMarkNo() {
  137 + return markNo;
  138 + }
  139 +
  140 + public void setMarkNo(String markNo) {
  141 + this.markNo = markNo;
  142 + }
  143 +
  144 + public String getRank() {
  145 + return rank;
  146 + }
  147 +
  148 + public void setRank(String rank) {
  149 + this.rank = rank;
  150 + }
  151 +
  152 + public static TestPaperInfo parse(String json){
  153 + Gson gson = new Gson();
  154 + return gson.fromJson(json, TestPaperInfo.class);
  155 + }
  156 +
  157 + public String toJson(){
  158 + Gson gson = new Gson();
  159 + return gson.toJson(this);
  160 + }
  161 +
  162 +}
src/com/fh/controller/api/V1.java
@@ -13,6 +13,9 @@ import org.springframework.web.bind.annotation.ResponseBody; @@ -13,6 +13,9 @@ import org.springframework.web.bind.annotation.ResponseBody;
13 13
14 import com.fh.bean.Paper; 14 import com.fh.bean.Paper;
15 import com.fh.bean.Question; 15 import com.fh.bean.Question;
  16 +import com.fh.bean.StudentAnswer;
  17 +import com.fh.bean.TestPaper;
  18 +import com.fh.bean.TestPaperInfo;
16 import com.fh.controller.base.BaseController; 19 import com.fh.controller.base.BaseController;
17 import com.fh.controller.sunvote.Myelfun; 20 import com.fh.controller.sunvote.Myelfun;
18 import com.fh.entity.Page; 21 import com.fh.entity.Page;
@@ -40,8 +43,10 @@ import com.fh.service.sunvote.school.SchoolManager; @@ -40,8 +43,10 @@ import com.fh.service.sunvote.school.SchoolManager;
40 import com.fh.service.sunvote.schoolgradesubject.SchoolGradeSubjectManager; 43 import com.fh.service.sunvote.schoolgradesubject.SchoolGradeSubjectManager;
41 import com.fh.service.sunvote.sclass.SClassManager; 44 import com.fh.service.sunvote.sclass.SClassManager;
42 import com.fh.service.sunvote.student.StudentManager; 45 import com.fh.service.sunvote.student.StudentManager;
  46 +import com.fh.service.sunvote.studenttest.StudentTestManager;
43 import com.fh.service.sunvote.subject.SubjectManager; 47 import com.fh.service.sunvote.subject.SubjectManager;
44 import com.fh.service.sunvote.teacher.TeacherManager; 48 import com.fh.service.sunvote.teacher.TeacherManager;
  49 +import com.fh.service.sunvote.testpaper.TestPaperManager;
45 import com.fh.service.sunvote.testpaperinfo.TestPaperInfoManager; 50 import com.fh.service.sunvote.testpaperinfo.TestPaperInfoManager;
46 import com.fh.util.PageData; 51 import com.fh.util.PageData;
47 import com.fh.util.Tools; 52 import com.fh.util.Tools;
@@ -49,125 +54,134 @@ import com.fh.util.Tools; @@ -49,125 +54,134 @@ import com.fh.util.Tools;
49 @Controller 54 @Controller
50 @RequestMapping(value = "/api/v1") 55 @RequestMapping(value = "/api/v1")
51 public class V1 extends BaseController { 56 public class V1 extends BaseController {
52 - 57 +
53 @Resource(name = "schoolService") 58 @Resource(name = "schoolService")
54 private SchoolManager schoolService; 59 private SchoolManager schoolService;
55 60
56 @Resource(name = "basestationService") 61 @Resource(name = "basestationService")
57 private BasestationManager basestationService; 62 private BasestationManager basestationService;
58 -  
59 - @Resource(name="chapterService") 63 +
  64 + @Resource(name = "chapterService")
60 private ChapterManager chapterService; 65 private ChapterManager chapterService;
61 -  
62 - @Resource(name="classbasetationService") 66 +
  67 + @Resource(name = "classbasetationService")
63 private ClassBasetationManager classbasetationService; 68 private ClassBasetationManager classbasetationService;
64 -  
65 - @Resource(name="classrosterService") 69 +
  70 + @Resource(name = "classrosterService")
66 private ClassRosterManager classrosterService; 71 private ClassRosterManager classrosterService;
67 -  
68 - @Resource(name="classtypeService") 72 +
  73 + @Resource(name = "classtypeService")
69 private ClassTypeManager classtypeService; 74 private ClassTypeManager classtypeService;
70 -  
71 - @Resource(name="gradeService") 75 +
  76 + @Resource(name = "gradeService")
72 private GradeManager gradeService; 77 private GradeManager gradeService;
73 -  
74 - @Resource(name="coursemanagementService") 78 +
  79 + @Resource(name = "coursemanagementService")
75 private CourseManagementManager coursemanagementService; 80 private CourseManagementManager coursemanagementService;
76 81
77 @Resource(name = "keypadService") 82 @Resource(name = "keypadService")
78 private KeypadManager keypadService; 83 private KeypadManager keypadService;
79 -  
80 - @Resource(name="keypadcheckService") 84 +
  85 + @Resource(name = "keypadcheckService")
81 private KeypadCheckManager keypadcheckService; 86 private KeypadCheckManager keypadcheckService;
82 -  
83 - @Resource(name="knowledgeService") 87 +
  88 + @Resource(name = "knowledgeService")
84 private KnowledgeManager knowledgeService; 89 private KnowledgeManager knowledgeService;
85 -  
86 - @Resource(name="knowledgechapterService") 90 +
  91 + @Resource(name = "knowledgechapterService")
87 private KnowledgeChapterManager knowledgechapterService; 92 private KnowledgeChapterManager knowledgechapterService;
88 -  
89 - @Resource(name="paperService") 93 +
  94 + @Resource(name = "paperService")
90 private PaperManager paperService; 95 private PaperManager paperService;
91 -  
92 - @Resource(name="paperclassteacherService") 96 +
  97 + @Resource(name = "paperclassteacherService")
93 private PaperClassTeacherManager paperclassteacherService; 98 private PaperClassTeacherManager paperclassteacherService;
94 -  
95 - @Resource(name="paperquestionService") 99 +
  100 + @Resource(name = "paperquestionService")
96 private PaperQuestionManager paperquestionService; 101 private PaperQuestionManager paperquestionService;
97 -  
98 - @Resource(name="papertypeService") 102 +
  103 + @Resource(name = "papertypeService")
99 private PaperTypeManager papertypeService; 104 private PaperTypeManager papertypeService;
100 -  
101 - @Resource(name="questionService") 105 +
  106 + @Resource(name = "questionService")
102 private QuestionManager questionService; 107 private QuestionManager questionService;
103 -  
104 - @Resource(name="questiontypeService") 108 +
  109 + @Resource(name = "questiontypeService")
105 private QuestionTypeManager questiontypeService; 110 private QuestionTypeManager questiontypeService;
106 -  
107 - @Resource(name="schoolgradesubjectService") 111 +
  112 + @Resource(name = "schoolgradesubjectService")
108 private SchoolGradeSubjectManager schoolgradesubjectService; 113 private SchoolGradeSubjectManager schoolgradesubjectService;
109 -  
110 - @Resource(name="sclassService") 114 +
  115 + @Resource(name = "sclassService")
111 private SClassManager sclassService; 116 private SClassManager sclassService;
112 -  
113 - @Resource(name="studentService") 117 +
  118 + @Resource(name = "studentService")
114 private StudentManager studentService; 119 private StudentManager studentService;
115 -  
116 - @Resource(name="subjectService") 120 +
  121 + @Resource(name = "subjectService")
117 private SubjectManager subjectService; 122 private SubjectManager subjectService;
118 -  
119 - @Resource(name="teacherService") 123 +
  124 + @Resource(name = "teacherService")
120 private TeacherManager teacherService; 125 private TeacherManager teacherService;
121 -  
122 - @Resource(name="testpaperinfoService") 126 +
  127 + @Resource(name = "testpaperinfoService")
123 private TestPaperInfoManager testpaperinfoService; 128 private TestPaperInfoManager testpaperinfoService;
124 129
  130 + @Resource(name = "testpaperService")
  131 + private TestPaperManager testpaperService;
  132 +
  133 + @Resource(name = "studenttestService")
  134 + private StudentTestManager studenttestService;
  135 +
125 @Resource(name = "feedbackService") 136 @Resource(name = "feedbackService")
126 private FeedbackManager feedbackService; 137 private FeedbackManager feedbackService;
127 138
128 @Resource(name = "problemphenomenonService") 139 @Resource(name = "problemphenomenonService")
129 private ProblemPhenomenonManager problemphenomenonService; 140 private ProblemPhenomenonManager problemphenomenonService;
130 - 141 +
131 @Resource(name = "v1Service") 142 @Resource(name = "v1Service")
132 - private V1Manager v1Service ;  
133 - 143 + private V1Manager v1Service;
  144 +
134 @RequestMapping(value = "/login", produces = "application/json;charset=UTF-8") 145 @RequestMapping(value = "/login", produces = "application/json;charset=UTF-8")
135 @ResponseBody 146 @ResponseBody
136 public Object login() throws Exception { 147 public Object login() throws Exception {
137 PageData pd = this.getPageData(); 148 PageData pd = this.getPageData();
138 ResponseGson<PageData> res = new ResponseGson(); 149 ResponseGson<PageData> res = new ResponseGson();
139 - if(!pd.containsKey("ACCOUT")){ 150 + if (!pd.containsKey("ACCOUT")) {
140 pd.put("ACCOUT", pd.get("USERNAME")); 151 pd.put("ACCOUT", pd.get("USERNAME"));
141 } 152 }
142 - if(((pd.containsKey("USERNAME") || pd.containsKey("ACCOUT")) && pd.containsKey("PASSWORD")) || pd.containsKey("KEYPAD_ID")){ 153 + if (((pd.containsKey("USERNAME") || pd.containsKey("ACCOUT")) && pd
  154 + .containsKey("PASSWORD")) || pd.containsKey("KEYPAD_ID")) {
143 PageData pageData = teacherService.getUserInfo(pd); 155 PageData pageData = teacherService.getUserInfo(pd);
144 - if(pageData != null && pageData.getString("ID") != null){  
145 - pageData.put("PASSWORD", "");//返回参数中不返回密码 156 + if (pageData != null && pageData.getString("ID") != null) {
  157 + pageData.put("PASSWORD", "");// 返回参数中不返回密码
146 PageData pt = new PageData(); 158 PageData pt = new PageData();
147 pt.put("TEACHER_ID", pageData.get("ID")); 159 pt.put("TEACHER_ID", pageData.get("ID"));
148 // 在任课表中查找老师教哪些班级,然后查出班级信息 160 // 在任课表中查找老师教哪些班级,然后查出班级信息
149 - List<PageData> classInfoList = v1Service.getTeacherClassInfo(pt);  
150 - 161 + List<PageData> classInfoList = v1Service
  162 + .getTeacherClassInfo(pt);
  163 +
151 pageData.put("classInfoList", classInfoList); 164 pageData.put("classInfoList", classInfoList);
152 // 在认可表中查找老师教哪些科目,然后查出科目信息 165 // 在认可表中查找老师教哪些科目,然后查出科目信息
153 - List<PageData> subjectList = v1Service.getTeacherSubjectInfo(pt); 166 + List<PageData> subjectList = v1Service
  167 + .getTeacherSubjectInfo(pt);
154 // 一个sql语句完成。 168 // 一个sql语句完成。
155 pageData.put("subjectList", subjectList); 169 pageData.put("subjectList", subjectList);
156 - 170 +
157 pageData.remove("SUBJECT_IDS"); 171 pageData.remove("SUBJECT_IDS");
158 - 172 +
159 res.setData(pageData); 173 res.setData(pageData);
160 // 填充数据到返回数据中 174 // 填充数据到返回数据中
161 - }else{ 175 + } else {
162 res.set1Error(); 176 res.set1Error();
163 } 177 }
164 - }else{ 178 + } else {
165 res.set1Error(); 179 res.set1Error();
166 } 180 }
167 - 181 +
168 return res.toJson(); 182 return res.toJson();
169 } 183 }
170 - 184 +
171 @RequestMapping(value = "/class", produces = "application/json;charset=UTF-8") 185 @RequestMapping(value = "/class", produces = "application/json;charset=UTF-8")
172 @ResponseBody 186 @ResponseBody
173 public Object sclass() throws Exception { 187 public Object sclass() throws Exception {
@@ -178,193 +192,218 @@ public class V1 extends BaseController { @@ -178,193 +192,218 @@ public class V1 extends BaseController {
178 if (pageData != null && pageData.containsKey("ID")) { 192 if (pageData != null && pageData.containsKey("ID")) {
179 PageData pt = new PageData(); 193 PageData pt = new PageData();
180 pt.put("SCLASS_ID", pageData.get("ID")); 194 pt.put("SCLASS_ID", pageData.get("ID"));
181 - List<PageData> studentList = v1Service  
182 - .getClassStudent(pt); 195 + List<PageData> studentList = v1Service.getClassStudent(pt);
183 pageData.put("studentList", studentList); 196 pageData.put("studentList", studentList);
184 res.setData(pageData); 197 res.setData(pageData);
185 } else { 198 } else {
186 res.set2Error(); 199 res.set2Error();
187 } 200 }
188 - }else{ 201 + } else {
189 res.set2Error(); 202 res.set2Error();
190 } 203 }
191 return res.toJson(); 204 return res.toJson();
192 } 205 }
193 - 206 +
194 @RequestMapping(value = "/keypadscan", produces = "application/json;charset=UTF-8") 207 @RequestMapping(value = "/keypadscan", produces = "application/json;charset=UTF-8")
195 @ResponseBody 208 @ResponseBody
196 public Object keypadScan() throws Exception { 209 public Object keypadScan() throws Exception {
197 PageData pd = this.getPageData(); 210 PageData pd = this.getPageData();
198 - ResponseGson<PageData> res = new ResponseGson();  
199 - pd.put("KEYPADCHECK_ID", get32UUID()); //主键  
200 - pd.put("CREATE_DATE", Tools.date2Str(new Date())); //创建时间  
201 - try{ 211 + ResponseGson<String> res = new ResponseGson();
  212 + String ID = get32UUID();
  213 + pd.put("KEYPADCHECK_ID", ID); // 主键
  214 + pd.put("CREATE_DATE", Tools.date2Str(new Date())); // 创建时间
  215 + try {
202 keypadcheckService.save(pd); 216 keypadcheckService.save(pd);
  217 + res.setData(ID);
203 res.setSuccess(); 218 res.setSuccess();
204 - }catch(Exception ex){ 219 + } catch (Exception ex) {
205 res.setDataError(); 220 res.setDataError();
206 } 221 }
207 return res.toJson(); 222 return res.toJson();
208 } 223 }
209 - 224 +
210 @RequestMapping(value = "/paper", produces = "application/json;charset=UTF-8") 225 @RequestMapping(value = "/paper", produces = "application/json;charset=UTF-8")
211 @ResponseBody 226 @ResponseBody
212 public Object paper() throws Exception { 227 public Object paper() throws Exception {
213 PageData pd = this.getPageData(); 228 PageData pd = this.getPageData();
214 ResponseGson<List<PageData>> res = new ResponseGson<List<PageData>>(); 229 ResponseGson<List<PageData>> res = new ResponseGson<List<PageData>>();
215 - if(pd.containsKey("PAPER_TYPE") && pd.containsKey("USER_ID")){ 230 + if (pd.containsKey("PAPER_TYPE") && pd.containsKey("USER_ID")) {
216 Page page = new Page(); 231 Page page = new Page();
217 page.getPd().put("PAPER_TYPE", pd.get("PAPER_TYPE")); 232 page.getPd().put("PAPER_TYPE", pd.get("PAPER_TYPE"));
218 page.getPd().put("USER_ID", pd.get("USER_ID")); 233 page.getPd().put("USER_ID", pd.get("USER_ID"));
219 - if(pd.containsKey("CURRENTPAGE")){ 234 + if (pd.containsKey("CURRENTPAGE")) {
220 String curpage = pd.getString("CURRENTPAGE"); 235 String curpage = pd.getString("CURRENTPAGE");
221 - try{ 236 + try {
222 page.setCurrentPage(Integer.parseInt(curpage)); 237 page.setCurrentPage(Integer.parseInt(curpage));
223 - }catch(Exception ex){} 238 + } catch (Exception ex) {
  239 + }
224 } 240 }
225 - if(pd.containsKey("SHOWCOUNT")){ 241 + if (pd.containsKey("SHOWCOUNT")) {
226 String showCount = pd.getString("SHOWCOUNT"); 242 String showCount = pd.getString("SHOWCOUNT");
227 - try{ 243 + try {
228 page.setShowCount(Integer.parseInt(showCount)); 244 page.setShowCount(Integer.parseInt(showCount));
229 - }catch(Exception ex){}  
230 - }else{ 245 + } catch (Exception ex) {
  246 + }
  247 + } else {
231 page.setShowCount(100); 248 page.setShowCount(100);
232 } 249 }
233 List<PageData> pageList = paperService.listAllByType(page); 250 List<PageData> pageList = paperService.listAllByType(page);
234 res.setData(pageList); 251 res.setData(pageList);
235 - }else{ 252 + } else {
236 res.setParmError(); 253 res.setParmError();
237 } 254 }
238 return res.toJson(); 255 return res.toJson();
239 } 256 }
240 -  
241 - @RequestMapping(value = "/testpaper", produces = "application/json;charset=UTF-8") 257 +
  258 + @RequestMapping(value = "/paperinfo", produces = "application/json;charset=UTF-8")
242 @ResponseBody 259 @ResponseBody
243 - public Object testpaper() throws Exception { 260 + public Object paperInfo() throws Exception {
244 PageData pd = this.getPageData(); 261 PageData pd = this.getPageData();
245 ResponseGson<Paper> res = new ResponseGson<Paper>(); 262 ResponseGson<Paper> res = new ResponseGson<Paper>();
246 - if(pd.containsKey("PAPER_ID")){  
247 - try{  
248 - Paper paper = new Paper();  
249 - PageData ppd = paperService.findById(pd);  
250 - if(ppd != null){  
251 - paper.setTitle(ppd.getString("TITLE"));  
252 - paper.setExam_time(ppd.getString("EXAM_TIME"));  
253 - paper.setTitle(ppd.getString("USER_ID"));  
254 - paper.setPaper_type(ppd.getString("PAPER_TYPE"));  
255 - paper.setSubject_id(ppd.getString("SUBJECT_ID"));  
256 - paper.setGrade_id(ppd.getString("GRADE_ID"));  
257 - paper.setScore(ppd.getString("SCORE"));  
258 - paper.setQuestions(new ArrayList<Question>());  
259 -  
260 - List<PageData> questList = v1Service.getTestPaperInfo(pd);  
261 - for(PageData qpd : questList){  
262 - Question question = new Question();  
263 - question.setAnswer(qpd.getString("ANSWER"));  
264 - question.setQuestion_id(qpd.getString("QUESTION_ID"));  
265 - question.setSubject_id(qpd.getString("SUBJECT_ID"));  
266 - question.setChapter_id(qpd.getString("CHAPTER_ID"));  
267 - question.setProblem_type_id(qpd.getString("PROBLEM_TYPE_ID"));  
268 - question.setKnowledge_id(qpd.getString("KNOWLEDGE_ID"));  
269 - question.setContent(qpd.getString("CONTENT"));  
270 - question.setOption_num(qpd.getString("OPTION_NUM"));  
271 - question.setOption_content(qpd.getString("OPTION_CONTENT"));  
272 - question.setDifficulty(qpd.getString("DIFFICULTY"));  
273 - question.setAnalysis(qpd.getString("ANALYSIS"));  
274 - question.setQuestion_from(qpd.getString("QUESTION_FROM"));  
275 - question.setSug_score(qpd.getString("SUG_SCORE"));  
276 - question.setSug_part_score(qpd.getString("SUG_PART_SCORE"));  
277 - question.setRank(qpd.getString("RANK"));  
278 - question.setNo_name(qpd.getString("NO_NAME"));  
279 - if("-1".equals(qpd.getString("PID"))){  
280 - PageData pidPd = new PageData();  
281 - pidPd.put("PID", question.getQuestion_id());  
282 - question.setQuestions(new ArrayList<Question>());  
283 - List<PageData> qs = v1Service.getQuestionsByPID(pidPd);  
284 - for(PageData q : qs){  
285 - Question qq = new Question();  
286 - qq.setAnswer(q.getString("ANSWER"));  
287 - qq.setQuestion_id(q.getString("QUESTION_ID"));  
288 - qq.setSubject_id(q.getString("SUBJECT_ID"));  
289 - qq.setChapter_id(q.getString("CHAPTER_ID"));  
290 - qq.setProblem_type_id(q.getString("PROBLEM_TYPE_ID"));  
291 - qq.setKnowledge_id(q.getString("KNOWLEDGE_ID"));  
292 - qq.setContent(q.getString("CONTENT"));  
293 - qq.setOption_num(q.getString("OPTION_NUM"));  
294 - qq.setOption_content(q.getString("OPTION_CONTENT"));  
295 - qq.setDifficulty(q.getString("DIFFICULTY"));  
296 - qq.setAnalysis(q.getString("ANALYSIS"));  
297 - qq.setQuestion_from(q.getString("QUESTION_FROM"));  
298 - qq.setSug_score(q.getString("SUG_SCORE"));  
299 - qq.setSug_part_score(q.getString("SUG_PART_SCORE"));  
300 - qq.setRank(q.getString("RANK"));  
301 - qq.setNo_name(q.getString("NO_NAME"));  
302 - question.getQuestions().add(qq); 263 + if (pd.containsKey("PAPER_ID")) {
  264 + try {
  265 + try {
  266 + Paper paper = new Paper();
  267 + PageData ppd = paperService.findById(pd);
  268 + if (ppd != null) {
  269 + paper.setTitle(ppd.getString("TITLE"));
  270 + paper.setExam_time(ppd.getString("EXAM_TIME"));
  271 + paper.setUser_id(ppd.getString("USER_ID"));
  272 + paper.setPaper_type(ppd.getString("PAPER_TYPE"));
  273 + paper.setSubject_id(ppd.getString("SUBJECT_ID"));
  274 + paper.setGrade_id(ppd.getString("GRADE_ID"));
  275 + paper.setScore(ppd.getString("SCORE"));
  276 + paper.setQuestions(new ArrayList<Question>());
  277 +
  278 + List<PageData> questList = v1Service
  279 + .getTestPaperInfo(pd);
  280 + for (PageData qpd : questList) {
  281 + Question question = new Question();
  282 + question.setAnswer(qpd.getString("ANSWER"));
  283 + question.setQuestion_id(qpd
  284 + .getString("QUESTION_ID"));
  285 + question.setSubject_id(qpd.getString("SUBJECT_ID"));
  286 + question.setChapter_id(qpd.getString("CHAPTER_ID"));
  287 + question.setProblem_type_id(qpd
  288 + .getString("PROBLEM_TYPE_ID"));
  289 + question.setKnowledge_id(qpd
  290 + .getString("KNOWLEDGE_ID"));
  291 + question.setContent(qpd.getString("CONTENT"));
  292 + question.setOption_num(qpd.getString("OPTION_NUM"));
  293 + question.setOption_content(qpd
  294 + .getString("OPTION_CONTENT"));
  295 + question.setDifficulty(qpd.getString("DIFFICULTY"));
  296 + question.setAnalysis(qpd.getString("ANALYSIS"));
  297 + question.setQuestion_from(qpd
  298 + .getString("QUESTION_FROM"));
  299 + question.setSug_score(qpd.getString("SUG_SCORE"));
  300 + question.setSug_part_score(qpd
  301 + .getString("SUG_PART_SCORE"));
  302 + question.setRank(qpd.getString("RANK"));
  303 + question.setNo_name(qpd.getString("NO_NAME"));
  304 + if ("-1".equals("" + qpd.getString("P_ID"))) {
  305 + PageData pidPd = new PageData();
  306 + pidPd.put("PID", question.getQuestion_id());
  307 + question.setQuestions(new ArrayList<Question>());
  308 + List<PageData> qs = v1Service
  309 + .getQuestionsByPID(pidPd);
  310 + for (PageData q : qs) {
  311 + Question qq = new Question();
  312 + qq.setAnswer(q.getString("ANSWER"));
  313 + qq.setQuestion_id(q
  314 + .getString("QUESTION_ID"));
  315 + qq.setSubject_id(q.getString("SUBJECT_ID"));
  316 + qq.setChapter_id(q.getString("CHAPTER_ID"));
  317 + qq.setProblem_type_id(q
  318 + .getString("PROBLEM_TYPE_ID"));
  319 + qq.setKnowledge_id(q
  320 + .getString("KNOWLEDGE_ID"));
  321 + qq.setContent(q.getString("CONTENT"));
  322 + qq.setOption_num(q.getString("OPTION_NUM"));
  323 + qq.setOption_content(q
  324 + .getString("OPTION_CONTENT"));
  325 + qq.setDifficulty(q.getString("DIFFICULTY"));
  326 + qq.setAnalysis(q.getString("ANALYSIS"));
  327 + qq.setQuestion_from(q
  328 + .getString("QUESTION_FROM"));
  329 + qq.setSug_score(q.getString("SUG_SCORE"));
  330 + qq.setSug_part_score(q
  331 + .getString("SUG_PART_SCORE"));
  332 + qq.setRank(q.getString("RANK"));
  333 + qq.setNo_name(q.getString("NO_NAME"));
  334 + question.getQuestions().add(qq);
  335 + }
  336 + }
  337 + if ("-1".equals(qpd.getString("P_ID"))
  338 + || "0".equals(qpd.getString("P_ID"))) {
  339 + paper.getQuestions().add(question);
  340 + }
303 } 341 }
  342 + // pd.put("JSON", paper.toJson());
  343 + res.setData(paper);
  344 + logger.info(paper.toJson());
  345 +
304 } 346 }
305 - paper.getQuestions().add(question);  
306 - }  
307 -  
308 -  
309 - res.setData(paper); 347 + } catch (Exception ex) {
  348 + ex.printStackTrace();
310 } 349 }
311 - }catch(Exception ex){ 350 + } catch (Exception ex) {
312 ex.printStackTrace(); 351 ex.printStackTrace();
313 res.setError(); 352 res.setError();
314 } 353 }
315 - }else{ 354 + } else {
316 res.setOtherError(); 355 res.setOtherError();
317 } 356 }
318 return res.toJson(); 357 return res.toJson();
319 } 358 }
320 - 359 +
321 @RequestMapping(value = "/paperquestion", produces = "application/json;charset=UTF-8") 360 @RequestMapping(value = "/paperquestion", produces = "application/json;charset=UTF-8")
322 @ResponseBody 361 @ResponseBody
323 public Object paperQuestion() throws Exception { 362 public Object paperQuestion() throws Exception {
324 PageData pd = this.getPageData(); 363 PageData pd = this.getPageData();
325 ResponseGson<PageData> res = new ResponseGson(); 364 ResponseGson<PageData> res = new ResponseGson();
326 - 365 +
327 return res.toJson(); 366 return res.toJson();
328 } 367 }
329 368
330 -  
331 @RequestMapping(value = "/uploadpaper", produces = "application/json;charset=UTF-8") 369 @RequestMapping(value = "/uploadpaper", produces = "application/json;charset=UTF-8")
332 @ResponseBody 370 @ResponseBody
333 public Object uploadpaper() throws Exception { 371 public Object uploadpaper() throws Exception {
334 PageData pd = this.getPageData(); 372 PageData pd = this.getPageData();
335 ResponseGson<String> res = new ResponseGson(); 373 ResponseGson<String> res = new ResponseGson();
336 -  
337 - if(!StringUtils.isEmpty(pd.getJsonString())){ 374 +
  375 + if (!StringUtils.isEmpty(pd.getJsonString())) {
338 Paper paper = Paper.parse(pd.getJsonString()); 376 Paper paper = Paper.parse(pd.getJsonString());
339 PageData paperPd = new PageData(); 377 PageData paperPd = new PageData();
340 String paperID = this.get32UUID(); 378 String paperID = this.get32UUID();
341 res.setData(paperID); 379 res.setData(paperID);
342 - paperPd.put("PAPER_ID", paperID);  
343 - paperPd.put("TITLE", paper.getTitle());  
344 - paperPd.put("USER_ID", paper.getUser_id());  
345 - paperPd.put("PAPER_TYPE", paper.getPaper_type());  
346 - paperPd.put("SUBJECT_ID", paper.getSubject_id());  
347 - paperPd.put("GRADE_ID", paper.getGrade_id());  
348 - paperPd.put("EXAM_TIME", paper.getExam_time());  
349 - paperPd.put("SCORE", paper.getScore());  
350 - paperPd.put("PAPER_STATE", "0");  
351 - paperPd.put("REMARK", ""); 380 + paperPd.put("PAPER_ID", paperID);
  381 + paperPd.put("TITLE", paper.getTitle());
  382 + paperPd.put("USER_ID", paper.getUser_id());
  383 + paperPd.put("PAPER_TYPE", paper.getPaper_type());
  384 + paperPd.put("SUBJECT_ID", paper.getSubject_id());
  385 + paperPd.put("GRADE_ID", paper.getGrade_id());
  386 + paperPd.put("EXAM_TIME", paper.getExam_time());
  387 + paperPd.put("SCORE", paper.getScore());
  388 + paperPd.put("PAPER_STATE", "0");
  389 + paperPd.put("REMARK", "");
352 String schoolID = Myelfun.getUserID(paper.getUser_id()); 390 String schoolID = Myelfun.getUserID(paper.getUser_id());
353 paperPd.put("SCHOOL_ID", schoolID); 391 paperPd.put("SCHOOL_ID", schoolID);
354 - paperPd.put("CREATE_DATE", Tools.date2Str(new Date()));  
355 - paperPd.put("MODIFY_DATE", Tools.date2Str(new Date()));  
356 - 392 + paperPd.put("CREATE_DATE", Tools.date2Str(new Date()));
  393 + paperPd.put("MODIFY_DATE", Tools.date2Str(new Date()));
  394 +
357 paperService.save(paperPd); 395 paperService.save(paperPd);
358 - 396 +
359 List<Question> questions = paper.getQuestions(); 397 List<Question> questions = paper.getQuestions();
360 - if(questions != null){  
361 - for(Question question : questions){ 398 + if (questions != null) {
  399 + for (Question question : questions) {
362 String questionID = this.get32UUID(); 400 String questionID = this.get32UUID();
363 PageData qPd = new PageData(); 401 PageData qPd = new PageData();
364 qPd.put("QUESTION_ID", questionID); 402 qPd.put("QUESTION_ID", questionID);
365 - if(question.getQuestions() != null && question.getQuestions().size() > 0){ 403 + if (question.getQuestions() != null
  404 + && question.getQuestions().size() > 0) {
366 qPd.put("P_ID", "-1"); 405 qPd.put("P_ID", "-1");
367 - }else{ 406 + } else {
368 qPd.put("P_ID", "0"); 407 qPd.put("P_ID", "0");
369 } 408 }
370 qPd.put("SUBJECT_ID", paper.getSubject_id()); 409 qPd.put("SUBJECT_ID", paper.getSubject_id());
@@ -386,21 +425,20 @@ public class V1 extends BaseController { @@ -386,21 +425,20 @@ public class V1 extends BaseController {
386 qPd.put("CREATE_DATE", Tools.date2Str(new Date())); 425 qPd.put("CREATE_DATE", Tools.date2Str(new Date()));
387 qPd.put("REMARK", ""); 426 qPd.put("REMARK", "");
388 questionService.save(qPd); 427 questionService.save(qPd);
389 - 428 +
390 PageData pqPd = new PageData(); 429 PageData pqPd = new PageData();
391 - pqPd.put("PAPER_ID",paperID);  
392 - pqPd.put("QUESTION_ID",questionID);  
393 - pqPd.put("SCORE",question.getScore());  
394 - pqPd.put("PART_SCORE","0");  
395 - pqPd.put("RANK",question.getRank());  
396 - pqPd.put("NO_NAME",question.getNo_name());  
397 - pqPd.put("PAPERQUESTION_ID",this.get32UUID()); 430 + pqPd.put("PAPER_ID", paperID);
  431 + pqPd.put("QUESTION_ID", questionID);
  432 + pqPd.put("SCORE", question.getScore());
  433 + pqPd.put("PART_SCORE", "0");
  434 + pqPd.put("RANK", question.getRank());
  435 + pqPd.put("NO_NAME", question.getNo_name());
  436 + pqPd.put("PAPERQUESTION_ID", this.get32UUID());
398 paperquestionService.save(pqPd); 437 paperquestionService.save(pqPd);
399 -  
400 -  
401 - if(question.getQuestions() != null){ 438 +
  439 + if (question.getQuestions() != null) {
402 List<Question> qs = question.getQuestions(); 440 List<Question> qs = question.getQuestions();
403 - for(Question q : qs){ 441 + for (Question q : qs) {
404 String qID = this.get32UUID(); 442 String qID = this.get32UUID();
405 PageData cqPd = new PageData(); 443 PageData cqPd = new PageData();
406 cqPd.put("QUESTION_ID", qID); 444 cqPd.put("QUESTION_ID", qID);
@@ -423,29 +461,247 @@ public class V1 extends BaseController { @@ -423,29 +461,247 @@ public class V1 extends BaseController {
423 cqPd.put("USER_ID", paper.getUser_id()); 461 cqPd.put("USER_ID", paper.getUser_id());
424 cqPd.put("CREATE_DATE", Tools.date2Str(new Date())); 462 cqPd.put("CREATE_DATE", Tools.date2Str(new Date()));
425 cqPd.put("REMARK", ""); 463 cqPd.put("REMARK", "");
426 - 464 +
427 questionService.save(cqPd); 465 questionService.save(cqPd);
428 - 466 +
429 PageData cpqPd = new PageData(); 467 PageData cpqPd = new PageData();
430 - cpqPd.put("PAPER_ID",paperID);  
431 - cpqPd.put("QUESTION_ID",qID);  
432 - cpqPd.put("SCORE",q.getScore());  
433 - cpqPd.put("PART_SCORE","0");  
434 - cpqPd.put("RANK",q.getRank());  
435 - cpqPd.put("NO_NAME",q.getNo_name());  
436 - cpqPd.put("PAPERQUESTION_ID",this.get32UUID());  
437 - 468 + cpqPd.put("PAPER_ID", paperID);
  469 + cpqPd.put("QUESTION_ID", qID);
  470 + cpqPd.put("SCORE", q.getScore());
  471 + cpqPd.put("PART_SCORE", "0");
  472 + cpqPd.put("RANK", q.getRank());
  473 + cpqPd.put("NO_NAME", q.getNo_name());
  474 + cpqPd.put("PAPERQUESTION_ID", this.get32UUID());
  475 +
438 paperquestionService.save(cpqPd); 476 paperquestionService.save(cpqPd);
439 } 477 }
440 } 478 }
441 } 479 }
442 } 480 }
443 -  
444 - }else{ 481 +
  482 + } else {
445 res.setDataError(); 483 res.setDataError();
446 } 484 }
447 - 485 +
  486 + return res.toJson();
  487 + }
  488 +
  489 + // 上传测验成绩
  490 + @RequestMapping(value = "/uploadtestpaper", produces = "application/json;charset=UTF-8")
  491 + @ResponseBody
  492 + public Object uploadTestpaper() {
  493 + PageData pd = this.getPageData();
  494 + ResponseGson<String> res = new ResponseGson();
  495 + if (!StringUtils.isEmpty(pd.getJsonString())) {
  496 + TestPaper testPaper = TestPaper.parse(pd.getJsonString());
  497 + try {
  498 + PageData testPd = new PageData();
  499 + String testPaperId = this.get32UUID();
  500 + testPd.put("TESTPAPER_ID", testPaperId);
  501 + testPd.put("TEACHER_ID", testPaper.getTeacherId());
  502 + testPd.put("NAME", testPaper.getName());
  503 + testPd.put("PAPER_ID", testPaper.getPaperId());
  504 + testPd.put("SCLASS_ID", testPaper.getClassId());
  505 + testPd.put("START_DATE", testPaper.getStartDate());
  506 + testPd.put("END_DATE", testPaper.getEndDate());
  507 + testPd.put(
  508 + "CREATE_DATE",
  509 + testPaper.getCreateDate() == null ? Tools
  510 + .date2Str(new Date()) : testPaper
  511 + .getCreateDate());
  512 + testPd.put("OTHER_SCORE", testPaper.getOtherScore());
  513 + testPd.put("HIGHT_SCORE", testPaper.getHighScore());
  514 + testPd.put("LOW_SCORE", testPaper.getLowScore());
  515 + testPd.put("AVG_SCORE", testPaper.getAvgScore());
  516 + testPd.put("REMARK", testPaper.getRemark());
  517 + testpaperService.save(testPd);
  518 + if (testPaper.getStudents() != null) {
  519 + for (StudentAnswer studentAnswer : testPaper.getStudents()) {
  520 + if (studentAnswer.getQuestions() != null) {
  521 + PageData studentPageData = new PageData();
  522 + studentPageData.put("STUDENTTEST_ID", get32UUID());
  523 + studentPageData.put("STUDENT_ID",
  524 + studentAnswer.getStudentId());
  525 + studentPageData.put("TEST_ID", testPaperId);
  526 + studentPageData.put("PAPER_ID",
  527 + testPaper.getPaperId());
  528 + studentPageData.put("SCORE",
  529 + studentAnswer.getScore());
  530 + studentPageData.put("CLASS_ID",
  531 + testPaper.getClassId());
  532 + studenttestService.save(studentPageData);
  533 +
  534 + for (TestPaperInfo testPaperInfo : studentAnswer
  535 + .getQuestions()) {
  536 + PageData testInfoPd = new PageData();
  537 + testInfoPd.put("TESTPAPERINFO_ID",
  538 + this.get32UUID());
  539 + testInfoPd.put("PAPER_ID",
  540 + testPaper.getPaperId());
  541 + testInfoPd.put("STUDENT_ID",
  542 + studentAnswer.getStudentId());
  543 + testInfoPd.put("TEST_ID", testPaperId);
  544 + testInfoPd.put("QUESTION_ID",
  545 + testPaperInfo.getQuestionId());
  546 + testInfoPd.put("ANSWER",
  547 + testPaperInfo.getAnswer());
  548 + testInfoPd.put("RIGHT",
  549 + testPaperInfo.getRight());
  550 + testInfoPd.put("SCORE",
  551 + testPaperInfo.getScore());
  552 + testInfoPd.put("LIKES",
  553 + testPaperInfo.getLikes());
  554 + testInfoPd.put("ANSWER_TYPE",
  555 + testPaperInfo.getAnswerType());
  556 + testInfoPd.put("PRESS_TIME",
  557 + testPaperInfo.getPressTime());
  558 + testInfoPd.put("RECEIVER_DATE",
  559 + testPaperInfo.getReceiverDate());
  560 + testInfoPd.put("SUBJECTIVE",
  561 + testPaperInfo.getSubjective());
  562 + testInfoPd.put("NOTE", testPaperInfo.getNote());
  563 + testInfoPd.put("MARK_NO",
  564 + testPaperInfo.getMarkNo());
  565 + testpaperinfoService.save(testInfoPd);
  566 + }
  567 + }
  568 + }
  569 + }
  570 + res.setData(testPaperId);
  571 + } catch (Exception e) {
  572 + e.printStackTrace();
  573 + res.setError();
  574 + res.setMessage(e.getMessage());
  575 + }
  576 + } else {
  577 + res.setDataError();
  578 + }
  579 +
  580 + return res.toJson();
  581 +
  582 + }
  583 +
  584 + // 下载测验成绩
  585 + @RequestMapping(value = "/downloadtestpaper", produces = "application/json;charset=UTF-8")
  586 + @ResponseBody
  587 + public Object downloadTestpaper() {
  588 + PageData pd = this.getPageData();
  589 + ResponseGson<TestPaper> res = new ResponseGson();
  590 +
  591 + String paperId = pd.getString("ID");
  592 +
  593 + if (!StringUtils.isEmpty(paperId)) {
  594 + TestPaper testPaper = new TestPaper();
  595 + try {
  596 + pd.put("TESTPAPER_ID", paperId);
  597 + PageData testPd = testpaperService.findById(pd);
  598 + if (testPd != null) {
  599 + testPaper.setTestpaperId(paperId);
  600 + testPaper.setTeacherId(testPd.getString("TEACHER_ID"));
  601 + testPaper.setName(testPd.getString("NAME"));
  602 + testPaper.setPaperId(testPd.getString("PAPER_ID"));
  603 + testPaper.setClassId(testPd.getString("SCLASS_ID"));
  604 + testPaper.setStartDate(testPd.getString("START_DATE"));
  605 + testPaper.setEndDate(testPd.getString("END_DATE"));
  606 + testPaper.setCreateDate(testPd.getString("CREATE_DATE"));
  607 + testPaper.setOtherScore(testPd.getString("OTHER_SCORE"));
  608 + testPaper.setHighScore(testPd.getString("HIGHT_SCORE"));
  609 + testPaper.setLowScore(testPd.getString("LOW_SCORE"));
  610 + testPaper.setAvgScore(testPd.getString("AVG_SCORE"));
  611 + testPaper.setRemark(testPd.getString("REMARK"));
  612 + PageData testInfof = new PageData();
  613 + testInfof.put("TEST_ID", paperId);
  614 +
  615 + List<PageData> studentList = studenttestService
  616 + .listAll(testInfof);
  617 +
  618 + for (PageData sPageData : studentList) {
  619 + StudentAnswer studentAnswer = new StudentAnswer();
  620 + testInfof.put("STDUENT_ID",
  621 + sPageData.getString("STDUENT_ID"));
  622 + studentAnswer.setScore(sPageData.getString("SCORE"));
  623 + List<PageData> list = testpaperinfoService
  624 + .listAll(testInfof);
  625 + for (PageData testInfoPd : list) {
  626 + TestPaperInfo testPaperInfo = new TestPaperInfo();
  627 + testPaperInfo.setTestPaperInfoId(testInfoPd
  628 + .getString("TESTPAPERINFO_ID"));
  629 + testPaperInfo.setQuestionId(testInfoPd
  630 + .getString("QUESTION_ID"));
  631 + testPaperInfo.setAnswer(testInfoPd
  632 + .getString("ANSWER"));
  633 + testPaperInfo.setRight(testInfoPd
  634 + .getString("RIGHT"));
  635 + testPaperInfo.setScore(testInfoPd
  636 + .getString("SCORE"));
  637 + testPaperInfo.setLikes(testInfoPd
  638 + .getString("LIKES"));
  639 + testPaperInfo.setAnswerType(testInfoPd
  640 + .getString("ANSWER_TYPE"));
  641 + testPaperInfo.setPressTime(testInfoPd
  642 + .getString("PRESS_TIME"));
  643 + testPaperInfo.setReceiverDate(testInfoPd
  644 + .getString("RECEIVER_DATE"));
  645 + testPaperInfo.setSubjective(testInfoPd
  646 + .getString("SUBJECTIVE"));
  647 + testPaperInfo.setNote(testInfoPd.getString("NOTE"));
  648 + testPaperInfo.setMarkNo(testInfoPd
  649 + .getString("MARK_NO"));
  650 + testPaperInfo.setRank(testInfoPd.getString("RANK"));
  651 + studentAnswer.getQuestions().add(testPaperInfo);
  652 + }
  653 + testPaper.getStudents().add(studentAnswer);
  654 + }
  655 + }
  656 +
  657 + res.setData(testPaper);
  658 + } catch (Exception e) {
  659 + e.printStackTrace();
  660 + res.setError();
  661 + }
  662 + }
  663 +
448 return res.toJson(); 664 return res.toJson();
  665 +
449 } 666 }
450 667
  668 + // 下载测验成绩
  669 + @RequestMapping(value = "/testpaper", produces = "application/json;charset=UTF-8")
  670 + @ResponseBody
  671 + public Object testpaper() {
  672 + PageData pd = this.getPageData();
  673 + ResponseGson<List<TestPaper>> res = new ResponseGson();
  674 + pd.put("TEACHER_ID", pd.getString("USER_ID"));
  675 + try {
  676 + List<PageData> pageList = testpaperService.listAll(pd);
  677 + List<TestPaper> list = new ArrayList<TestPaper>();
  678 + if (pageList != null) {
  679 + for (PageData testPd : pageList) {
  680 + TestPaper testPaper = new TestPaper();
  681 + testPaper.setTestpaperId(testPd.getString("TESTPAPER_ID"));
  682 + testPaper.setTeacherId(testPd.getString("TEACHER_ID"));
  683 + testPaper.setName(testPd.getString("NAME"));
  684 + testPaper.setPaperId(testPd.getString("PAPER_ID"));
  685 + testPaper.setClassId(testPd.getString("SCLASS_ID"));
  686 + testPaper.setStartDate(testPd.getString("START_DATE"));
  687 + testPaper.setEndDate(testPd.getString("END_DATE"));
  688 + testPaper.setCreateDate(testPd.getString("CREATE_DATE"));
  689 + testPaper.setOtherScore(testPd.getString("OTHER_SCORE"));
  690 + testPaper.setHighScore(testPd.getString("HIGHT_SCORE"));
  691 + testPaper.setLowScore(testPd.getString("LOW_SCORE"));
  692 + testPaper.setAvgScore(testPd.getString("AVG_SCORE"));
  693 + testPaper.setRemark(testPd.getString("REMARK"));
  694 + list.add(testPaper);
  695 + }
  696 + }
  697 + res.setData(list);
  698 + } catch (Exception e) {
  699 + res.setError();
  700 + res.setMessage(e.getMessage());
  701 + e.printStackTrace();
  702 + }
  703 +
  704 + return res.toJson();
  705 +
  706 + }
451 } 707 }
src/com/fh/controller/sunvote/Myelfun.java
@@ -5,6 +5,8 @@ import org.springframework.stereotype.Service; @@ -5,6 +5,8 @@ import org.springframework.stereotype.Service;
5 import com.fh.service.sunvote.basestation.impl.BasestationService; 5 import com.fh.service.sunvote.basestation.impl.BasestationService;
6 import com.fh.service.sunvote.classtype.impl.ClassTypeService; 6 import com.fh.service.sunvote.classtype.impl.ClassTypeService;
7 import com.fh.service.sunvote.grade.impl.GradeService; 7 import com.fh.service.sunvote.grade.impl.GradeService;
  8 +import com.fh.service.sunvote.paper.PaperManager;
  9 +import com.fh.service.sunvote.papertype.PaperTypeManager;
8 import com.fh.service.sunvote.questiontype.QuestionTypeManager; 10 import com.fh.service.sunvote.questiontype.QuestionTypeManager;
9 import com.fh.service.sunvote.school.impl.SchoolService; 11 import com.fh.service.sunvote.school.impl.SchoolService;
10 import com.fh.service.sunvote.sclass.impl.SClassService; 12 import com.fh.service.sunvote.sclass.impl.SClassService;
@@ -14,6 +16,7 @@ import com.fh.service.sunvote.teacher.TeacherManager; @@ -14,6 +16,7 @@ import com.fh.service.sunvote.teacher.TeacherManager;
14 import com.fh.service.sunvote.teacher.impl.TeacherService; 16 import com.fh.service.sunvote.teacher.impl.TeacherService;
15 import com.fh.service.sunvote.teachingmaterial.impl.TeachingMaterialService; 17 import com.fh.service.sunvote.teachingmaterial.impl.TeachingMaterialService;
16 import com.fh.service.sunvote.term.TermManager; 18 import com.fh.service.sunvote.term.TermManager;
  19 +import com.fh.service.sunvote.testpaper.TestPaperManager;
17 import com.fh.util.PageData; 20 import com.fh.util.PageData;
18 import com.fh.util.SpringBeanFactoryUtils; 21 import com.fh.util.SpringBeanFactoryUtils;
19 22
@@ -206,7 +209,7 @@ public class Myelfun { @@ -206,7 +209,7 @@ public class Myelfun {
206 * @return 209 * @return
207 * @throws Exception 210 * @throws Exception
208 */ 211 */
209 - public static String findTeachingmaterialName(int id) throws Exception { 212 + public static String findTeachingmaterialName(String id) throws Exception {
210 TeachingMaterialService teachingmaterialService = (TeachingMaterialService)SpringBeanFactoryUtils.getBean("teachingmaterialService"); 213 TeachingMaterialService teachingmaterialService = (TeachingMaterialService)SpringBeanFactoryUtils.getBean("teachingmaterialService");
211 PageData pageData = new PageData(); 214 PageData pageData = new PageData();
212 pageData.put("ID", id); 215 pageData.put("ID", id);
@@ -224,7 +227,7 @@ public class Myelfun { @@ -224,7 +227,7 @@ public class Myelfun {
224 * @return 227 * @return
225 * @throws Exception 228 * @throws Exception
226 */ 229 */
227 - public static String findQuestionTypeName(int id) throws Exception { 230 + public static String findQuestionTypeName(String id) throws Exception {
228 QuestionTypeManager questiontypeService = (QuestionTypeManager)SpringBeanFactoryUtils.getBean("questiontypeService"); 231 QuestionTypeManager questiontypeService = (QuestionTypeManager)SpringBeanFactoryUtils.getBean("questiontypeService");
229 PageData pageData = new PageData(); 232 PageData pageData = new PageData();
230 pageData.put("QUESTIONTYPE_ID", id); 233 pageData.put("QUESTIONTYPE_ID", id);
@@ -252,4 +255,53 @@ public class Myelfun { @@ -252,4 +255,53 @@ public class Myelfun {
252 } 255 }
253 } 256 }
254 257
  258 + public static String findPaperTypeName(String id){
  259 + PaperTypeManager papertypeService = (PaperTypeManager)SpringBeanFactoryUtils.getBean("papertypeService");
  260 + PageData pageData = new PageData();
  261 + pageData.put("ID", id);
  262 + try {
  263 + pageData = papertypeService.findById(pageData);
  264 + } catch (Exception e) {
  265 + e.printStackTrace();
  266 + }
  267 + if(pageData != null){
  268 + return pageData.getString("NAME");
  269 + }else{
  270 + return "" ;
  271 + }
  272 + }
  273 +
  274 + public static String findPaperName(String id){
  275 + PaperManager paperService = (PaperManager)SpringBeanFactoryUtils.getBean("paperService");
  276 + PageData pageData = new PageData();
  277 + pageData.put("PAPER_ID", id);
  278 + try {
  279 + pageData = paperService.findById(pageData);
  280 + } catch (Exception e) {
  281 + e.printStackTrace();
  282 + }
  283 + if(pageData != null){
  284 + return pageData.getString("TITLE");
  285 + }else{
  286 + return "" ;
  287 + }
  288 + }
  289 +
  290 + public static String findTestPaperName(String id){
  291 + TestPaperManager testpaperService = (TestPaperManager)SpringBeanFactoryUtils.getBean("testpaperService");
  292 + PageData pageData = new PageData();
  293 + pageData.put("TESTPAPER_ID", id);
  294 + try {
  295 + pageData = testpaperService.findById(pageData);
  296 + } catch (Exception e) {
  297 + e.printStackTrace();
  298 + }
  299 + if(pageData != null){
  300 + return pageData.getString("NAME");
  301 + }else{
  302 + return "" ;
  303 + }
  304 + }
  305 +
  306 +
255 } 307 }
src/com/fh/controller/sunvote/classroster/ClassRosterController.java
@@ -137,8 +137,16 @@ public class ClassRosterController extends BaseController { @@ -137,8 +137,16 @@ public class ClassRosterController extends BaseController {
137 PageData pd = new PageData(); 137 PageData pd = new PageData();
138 pd = this.getPageData(); 138 pd = this.getPageData();
139 mv.setViewName("sunvote/classroster/classroster_edit"); 139 mv.setViewName("sunvote/classroster/classroster_edit");
  140 +
  141 + List<PageData> classList = sclassService.listAll(pd);
  142 + List<PageData> termList = termService.listAll(pd);
  143 + List<PageData> studentList = studentService.listAll(pd);
  144 +
140 mv.addObject("msg", "save"); 145 mv.addObject("msg", "save");
141 mv.addObject("pd", pd); 146 mv.addObject("pd", pd);
  147 + mv.addObject("classList", classList);
  148 + mv.addObject("termList", termList);
  149 + mv.addObject("studentList", studentList);
142 return mv; 150 return mv;
143 } 151 }
144 152
@@ -153,8 +161,15 @@ public class ClassRosterController extends BaseController { @@ -153,8 +161,15 @@ public class ClassRosterController extends BaseController {
153 pd = this.getPageData(); 161 pd = this.getPageData();
154 pd = classrosterService.findById(pd); //根据ID读取 162 pd = classrosterService.findById(pd); //根据ID读取
155 mv.setViewName("sunvote/classroster/classroster_edit"); 163 mv.setViewName("sunvote/classroster/classroster_edit");
156 - mv.addObject("msg", "edit"); 164 + List<PageData> classList = sclassService.listAll(pd);
  165 + List<PageData> termList = termService.listAll(pd);
  166 + List<PageData> studentList = studentService.listAll(pd);
  167 +
  168 + mv.addObject("msg", "save");
157 mv.addObject("pd", pd); 169 mv.addObject("pd", pd);
  170 + mv.addObject("classList", classList);
  171 + mv.addObject("termList", termList);
  172 + mv.addObject("studentList", studentList);
158 return mv; 173 return mv;
159 } 174 }
160 175
src/com/fh/controller/sunvote/papertype/PaperTypeController.java
@@ -45,10 +45,10 @@ public class PaperTypeController extends BaseController { @@ -45,10 +45,10 @@ public class PaperTypeController extends BaseController {
45 @RequestMapping(value="/save") 45 @RequestMapping(value="/save")
46 public ModelAndView save() throws Exception{ 46 public ModelAndView save() throws Exception{
47 logBefore(logger, Jurisdiction.getUsername()+"新增PaperType"); 47 logBefore(logger, Jurisdiction.getUsername()+"新增PaperType");
48 - if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限  
49 ModelAndView mv = this.getModelAndView(); 48 ModelAndView mv = this.getModelAndView();
50 PageData pd = new PageData(); 49 PageData pd = new PageData();
51 pd = this.getPageData(); 50 pd = this.getPageData();
  51 + pd.put("ID", this.get32UUID());
52 papertypeService.save(pd); 52 papertypeService.save(pd);
53 mv.addObject("msg","success"); 53 mv.addObject("msg","success");
54 mv.setViewName("save_result"); 54 mv.setViewName("save_result");
@@ -62,7 +62,6 @@ public class PaperTypeController extends BaseController { @@ -62,7 +62,6 @@ public class PaperTypeController extends BaseController {
62 @RequestMapping(value="/delete") 62 @RequestMapping(value="/delete")
63 public void delete(PrintWriter out) throws Exception{ 63 public void delete(PrintWriter out) throws Exception{
64 logBefore(logger, Jurisdiction.getUsername()+"删除PaperType"); 64 logBefore(logger, Jurisdiction.getUsername()+"删除PaperType");
65 - if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限  
66 PageData pd = new PageData(); 65 PageData pd = new PageData();
67 pd = this.getPageData(); 66 pd = this.getPageData();
68 papertypeService.delete(pd); 67 papertypeService.delete(pd);
@@ -77,7 +76,6 @@ public class PaperTypeController extends BaseController { @@ -77,7 +76,6 @@ public class PaperTypeController extends BaseController {
77 @RequestMapping(value="/edit") 76 @RequestMapping(value="/edit")
78 public ModelAndView edit() throws Exception{ 77 public ModelAndView edit() throws Exception{
79 logBefore(logger, Jurisdiction.getUsername()+"修改PaperType"); 78 logBefore(logger, Jurisdiction.getUsername()+"修改PaperType");
80 - if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限  
81 ModelAndView mv = this.getModelAndView(); 79 ModelAndView mv = this.getModelAndView();
82 PageData pd = new PageData(); 80 PageData pd = new PageData();
83 pd = this.getPageData(); 81 pd = this.getPageData();
@@ -94,7 +92,6 @@ public class PaperTypeController extends BaseController { @@ -94,7 +92,6 @@ public class PaperTypeController extends BaseController {
94 @RequestMapping(value="/list") 92 @RequestMapping(value="/list")
95 public ModelAndView list(Page page) throws Exception{ 93 public ModelAndView list(Page page) throws Exception{
96 logBefore(logger, Jurisdiction.getUsername()+"列表PaperType"); 94 logBefore(logger, Jurisdiction.getUsername()+"列表PaperType");
97 - //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)  
98 ModelAndView mv = this.getModelAndView(); 95 ModelAndView mv = this.getModelAndView();
99 PageData pd = new PageData(); 96 PageData pd = new PageData();
100 pd = this.getPageData(); 97 pd = this.getPageData();
src/com/fh/controller/sunvote/studenttest/StudentTestController.java 0 → 100644
  1 +package com.fh.controller.sunvote.studenttest;
  2 +
  3 +import java.io.PrintWriter;
  4 +import java.text.DateFormat;
  5 +import java.text.SimpleDateFormat;
  6 +import java.util.ArrayList;
  7 +import java.util.Date;
  8 +import java.util.HashMap;
  9 +import java.util.List;
  10 +import java.util.Map;
  11 +import javax.annotation.Resource;
  12 +import org.springframework.beans.propertyeditors.CustomDateEditor;
  13 +import org.springframework.stereotype.Controller;
  14 +import org.springframework.web.bind.WebDataBinder;
  15 +import org.springframework.web.bind.annotation.InitBinder;
  16 +import org.springframework.web.bind.annotation.RequestMapping;
  17 +import org.springframework.web.bind.annotation.ResponseBody;
  18 +import org.springframework.web.servlet.ModelAndView;
  19 +import com.fh.controller.base.BaseController;
  20 +import com.fh.entity.Page;
  21 +import com.fh.util.AppUtil;
  22 +import com.fh.util.ObjectExcelView;
  23 +import com.fh.util.PageData;
  24 +import com.fh.util.Jurisdiction;
  25 +import com.fh.util.Tools;
  26 +import com.fh.service.sunvote.studenttest.StudentTestManager;
  27 +
  28 +/**
  29 + * 说明:学生报表
  30 + * 创建人:FH Q313596790
  31 + * 创建时间:2018-06-07
  32 + */
  33 +@Controller
  34 +@RequestMapping(value="/studenttest")
  35 +public class StudentTestController extends BaseController {
  36 +
  37 + String menuUrl = "studenttest/list.do"; //菜单地址(权限用)
  38 + @Resource(name="studenttestService")
  39 + private StudentTestManager studenttestService;
  40 +
  41 + /**保存
  42 + * @param
  43 + * @throws Exception
  44 + */
  45 + @RequestMapping(value="/save")
  46 + public ModelAndView save() throws Exception{
  47 + logBefore(logger, Jurisdiction.getUsername()+"新增StudentTest");
  48 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限
  49 + ModelAndView mv = this.getModelAndView();
  50 + PageData pd = new PageData();
  51 + pd = this.getPageData();
  52 + pd.put("STUDENTTEST_ID", this.get32UUID()); //主键
  53 + studenttestService.save(pd);
  54 + mv.addObject("msg","success");
  55 + mv.setViewName("save_result");
  56 + return mv;
  57 + }
  58 +
  59 + /**删除
  60 + * @param out
  61 + * @throws Exception
  62 + */
  63 + @RequestMapping(value="/delete")
  64 + public void delete(PrintWriter out) throws Exception{
  65 + logBefore(logger, Jurisdiction.getUsername()+"删除StudentTest");
  66 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限
  67 + PageData pd = new PageData();
  68 + pd = this.getPageData();
  69 + studenttestService.delete(pd);
  70 + out.write("success");
  71 + out.close();
  72 + }
  73 +
  74 + /**修改
  75 + * @param
  76 + * @throws Exception
  77 + */
  78 + @RequestMapping(value="/edit")
  79 + public ModelAndView edit() throws Exception{
  80 + logBefore(logger, Jurisdiction.getUsername()+"修改StudentTest");
  81 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限
  82 + ModelAndView mv = this.getModelAndView();
  83 + PageData pd = new PageData();
  84 + pd = this.getPageData();
  85 + studenttestService.edit(pd);
  86 + mv.addObject("msg","success");
  87 + mv.setViewName("save_result");
  88 + return mv;
  89 + }
  90 +
  91 + /**列表
  92 + * @param page
  93 + * @throws Exception
  94 + */
  95 + @RequestMapping(value="/list")
  96 + public ModelAndView list(Page page) throws Exception{
  97 + logBefore(logger, Jurisdiction.getUsername()+"列表StudentTest");
  98 + //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
  99 + ModelAndView mv = this.getModelAndView();
  100 + PageData pd = new PageData();
  101 + pd = this.getPageData();
  102 + String keywords = pd.getString("keywords"); //关键词检索条件
  103 + if(null != keywords && !"".equals(keywords)){
  104 + pd.put("keywords", keywords.trim());
  105 + }
  106 + page.setPd(pd);
  107 + List<PageData> varList = studenttestService.list(page); //列出StudentTest列表
  108 + mv.setViewName("sunvote/studenttest/studenttest_list");
  109 + mv.addObject("varList", varList);
  110 + mv.addObject("pd", pd);
  111 + mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
  112 + return mv;
  113 + }
  114 +
  115 + /**去新增页面
  116 + * @param
  117 + * @throws Exception
  118 + */
  119 + @RequestMapping(value="/goAdd")
  120 + public ModelAndView goAdd()throws Exception{
  121 + ModelAndView mv = this.getModelAndView();
  122 + PageData pd = new PageData();
  123 + pd = this.getPageData();
  124 + mv.setViewName("sunvote/studenttest/studenttest_edit");
  125 + mv.addObject("msg", "save");
  126 + mv.addObject("pd", pd);
  127 + return mv;
  128 + }
  129 +
  130 + /**去修改页面
  131 + * @param
  132 + * @throws Exception
  133 + */
  134 + @RequestMapping(value="/goEdit")
  135 + public ModelAndView goEdit()throws Exception{
  136 + ModelAndView mv = this.getModelAndView();
  137 + PageData pd = new PageData();
  138 + pd = this.getPageData();
  139 + pd = studenttestService.findById(pd); //根据ID读取
  140 + mv.setViewName("sunvote/studenttest/studenttest_edit");
  141 + mv.addObject("msg", "edit");
  142 + mv.addObject("pd", pd);
  143 + return mv;
  144 + }
  145 +
  146 + /**批量删除
  147 + * @param
  148 + * @throws Exception
  149 + */
  150 + @RequestMapping(value="/deleteAll")
  151 + @ResponseBody
  152 + public Object deleteAll() throws Exception{
  153 + logBefore(logger, Jurisdiction.getUsername()+"批量删除StudentTest");
  154 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限
  155 + PageData pd = new PageData();
  156 + Map<String,Object> map = new HashMap<String,Object>();
  157 + pd = this.getPageData();
  158 + List<PageData> pdList = new ArrayList<PageData>();
  159 + String DATA_IDS = pd.getString("DATA_IDS");
  160 + if(null != DATA_IDS && !"".equals(DATA_IDS)){
  161 + String ArrayDATA_IDS[] = DATA_IDS.split(",");
  162 + studenttestService.deleteAll(ArrayDATA_IDS);
  163 + pd.put("msg", "ok");
  164 + }else{
  165 + pd.put("msg", "no");
  166 + }
  167 + pdList.add(pd);
  168 + map.put("list", pdList);
  169 + return AppUtil.returnObject(pd, map);
  170 + }
  171 +
  172 + /**导出到excel
  173 + * @param
  174 + * @throws Exception
  175 + */
  176 + @RequestMapping(value="/excel")
  177 + public ModelAndView exportExcel() throws Exception{
  178 + logBefore(logger, Jurisdiction.getUsername()+"导出StudentTest到excel");
  179 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
  180 + ModelAndView mv = new ModelAndView();
  181 + PageData pd = new PageData();
  182 + pd = this.getPageData();
  183 + Map<String,Object> dataMap = new HashMap<String,Object>();
  184 + List<String> titles = new ArrayList<String>();
  185 + titles.add("学生ID"); //1
  186 + titles.add("测验ID"); //2
  187 + titles.add("试卷ID"); //3
  188 + titles.add("得分"); //4
  189 + titles.add("班级ID"); //5
  190 + dataMap.put("titles", titles);
  191 + List<PageData> varOList = studenttestService.listAll(pd);
  192 + List<PageData> varList = new ArrayList<PageData>();
  193 + for(int i=0;i<varOList.size();i++){
  194 + PageData vpd = new PageData();
  195 + vpd.put("var1", varOList.get(i).getString("STUDENT_ID")); //1
  196 + vpd.put("var2", varOList.get(i).getString("TEST_ID")); //2
  197 + vpd.put("var3", varOList.get(i).getString("PAPER_ID")); //3
  198 + vpd.put("var4", varOList.get(i).getString("SCORE")); //4
  199 + vpd.put("var5", varOList.get(i).getString("CLASS_ID")); //5
  200 + varList.add(vpd);
  201 + }
  202 + dataMap.put("varList", varList);
  203 + ObjectExcelView erv = new ObjectExcelView();
  204 + mv = new ModelAndView(erv,dataMap);
  205 + return mv;
  206 + }
  207 +
  208 + @InitBinder
  209 + public void initBinder(WebDataBinder binder){
  210 + DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  211 + binder.registerCustomEditor(Date.class, new CustomDateEditor(format,true));
  212 + }
  213 +}
src/com/fh/service/sunvote/studenttest/StudentTestManager.java 0 → 100644
  1 +package com.fh.service.sunvote.studenttest;
  2 +
  3 +import java.util.List;
  4 +import com.fh.entity.Page;
  5 +import com.fh.util.PageData;
  6 +
  7 +/**
  8 + * 说明: 学生报表接口
  9 + * 创建人:FH Q313596790
  10 + * 创建时间:2018-06-07
  11 + * @version
  12 + */
  13 +public interface StudentTestManager{
  14 +
  15 + /**新增
  16 + * @param pd
  17 + * @throws Exception
  18 + */
  19 + public void save(PageData pd)throws Exception;
  20 +
  21 + /**删除
  22 + * @param pd
  23 + * @throws Exception
  24 + */
  25 + public void delete(PageData pd)throws Exception;
  26 +
  27 + /**修改
  28 + * @param pd
  29 + * @throws Exception
  30 + */
  31 + public void edit(PageData pd)throws Exception;
  32 +
  33 + /**列表
  34 + * @param page
  35 + * @throws Exception
  36 + */
  37 + public List<PageData> list(Page page)throws Exception;
  38 +
  39 + /**列表(全部)
  40 + * @param pd
  41 + * @throws Exception
  42 + */
  43 + public List<PageData> listAll(PageData pd)throws Exception;
  44 +
  45 + /**通过id获取数据
  46 + * @param pd
  47 + * @throws Exception
  48 + */
  49 + public PageData findById(PageData pd)throws Exception;
  50 +
  51 + /**批量删除
  52 + * @param ArrayDATA_IDS
  53 + * @throws Exception
  54 + */
  55 + public void deleteAll(String[] ArrayDATA_IDS)throws Exception;
  56 +
  57 +}
  58 +
src/com/fh/service/sunvote/studenttest/impl/StudentTestService.java 0 → 100644
  1 +package com.fh.service.sunvote.studenttest.impl;
  2 +
  3 +import java.util.List;
  4 +import javax.annotation.Resource;
  5 +import org.springframework.stereotype.Service;
  6 +import com.fh.dao.DaoSupport;
  7 +import com.fh.entity.Page;
  8 +import com.fh.util.PageData;
  9 +import com.fh.service.sunvote.studenttest.StudentTestManager;
  10 +
  11 +/**
  12 + * 说明: 学生报表
  13 + * 创建人:FH Q313596790
  14 + * 创建时间:2018-06-07
  15 + * @version
  16 + */
  17 +@Service("studenttestService")
  18 +public class StudentTestService implements StudentTestManager{
  19 +
  20 + @Resource(name = "daoSupport")
  21 + private DaoSupport dao;
  22 +
  23 + /**新增
  24 + * @param pd
  25 + * @throws Exception
  26 + */
  27 + public void save(PageData pd)throws Exception{
  28 + dao.save("StudentTestMapper.save", pd);
  29 + }
  30 +
  31 + /**删除
  32 + * @param pd
  33 + * @throws Exception
  34 + */
  35 + public void delete(PageData pd)throws Exception{
  36 + dao.delete("StudentTestMapper.delete", pd);
  37 + }
  38 +
  39 + /**修改
  40 + * @param pd
  41 + * @throws Exception
  42 + */
  43 + public void edit(PageData pd)throws Exception{
  44 + dao.update("StudentTestMapper.edit", pd);
  45 + }
  46 +
  47 + /**列表
  48 + * @param page
  49 + * @throws Exception
  50 + */
  51 + @SuppressWarnings("unchecked")
  52 + public List<PageData> list(Page page)throws Exception{
  53 + return (List<PageData>)dao.findForList("StudentTestMapper.datalistPage", page);
  54 + }
  55 +
  56 + /**列表(全部)
  57 + * @param pd
  58 + * @throws Exception
  59 + */
  60 + @SuppressWarnings("unchecked")
  61 + public List<PageData> listAll(PageData pd)throws Exception{
  62 + return (List<PageData>)dao.findForList("StudentTestMapper.listAll", pd);
  63 + }
  64 +
  65 + /**通过id获取数据
  66 + * @param pd
  67 + * @throws Exception
  68 + */
  69 + public PageData findById(PageData pd)throws Exception{
  70 + return (PageData)dao.findForObject("StudentTestMapper.findById", pd);
  71 + }
  72 +
  73 + /**批量删除
  74 + * @param ArrayDATA_IDS
  75 + * @throws Exception
  76 + */
  77 + public void deleteAll(String[] ArrayDATA_IDS)throws Exception{
  78 + dao.delete("StudentTestMapper.deleteAll", ArrayDATA_IDS);
  79 + }
  80 +
  81 +}
  82 +