Commit d7525cae337f717e8094d6a9fa9d4bbfbf19924d

Authored by jack
1 parent a975f494

1.学生老师导入导出

2.客户端登录接口添加年级id
3.客户端试卷接口增加试卷类型筛选(年级卷,个人卷)
WebRoot/WEB-INF/jsp/sunvote/student/student_list2.jsp
... ... @@ -102,6 +102,9 @@
102 102 <div class="creat">
103 103 <input type="button" onclick="upload();" value="批量导入" />
104 104 </div>
  105 + <div class="creat">
  106 + <input type="button" onclick="export2();" value="批量导出" />
  107 + </div>
105 108 <div class="removeAll" >
106 109 <input type="button" onclick="deleteAll();" value="批量删除" />
107 110 </div>
... ... @@ -214,6 +217,9 @@
214 217 });
215 218 window.top.modal.show();
216 219 }
  220 + function export2(){
  221 + window.open('<%=basePath%>student/excel?class_id=${pd.CLASS_ID}','_blank');
  222 + }
217 223  
218 224 </script>
219 225 </html>
220 226 \ No newline at end of file
... ...
WebRoot/WEB-INF/jsp/sunvote/teacher/en_uploadexcel.jsp 0 → 100644
  1 +<%@ page language="java" contentType="text/html; charset=UTF-8"
  2 + pageEncoding="UTF-8"%>
  3 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  4 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  5 +<%
  6 + String path = request.getContextPath();
  7 + String basePath = request.getScheme() + "://"
  8 + + request.getServerName() + ":" + request.getServerPort()
  9 + + path + "/";
  10 +%>
  11 +<!DOCTYPE html>
  12 +<html lang="en">
  13 +<head>
  14 +<base href="<%=basePath%>">
  15 +
  16 +<!-- jsp文件头和头部 -->
  17 +<%@ include file="../../system/index/top.jsp"%>
  18 +
  19 +
  20 +<style>
  21 +
  22 +.ace-file-input .ace-file-container{
  23 +display: block;
  24 + position: absolute;
  25 + top: 0;
  26 + left: 0;
  27 + right: 0;
  28 + height: 40px;
  29 + background-color: #ffffff;
  30 + border: 1px solid #d5d5d5;
  31 + cursor: pointer;
  32 + -webkit-box-shadow: none;
  33 + box-shadow: none;
  34 + -webkit-transition: all 0.15s;
  35 + -o-transition: all 0.15s;
  36 + transition: all 0.15s;
  37 +}
  38 +.ace-file-input .ace-file-container:before{
  39 + display: inline-block;
  40 + content: attr(data-title);
  41 + position: absolute;
  42 + right: 0;
  43 + top: 0;
  44 + bottom: 0;
  45 + line-height: 34px;
  46 + text-align: center;
  47 + padding: 0 8px;
  48 + background-color: #3bc2d6;
  49 + color: #FFF;
  50 + font-size: 11px;
  51 + font-weight: bold;
  52 + border: 2px solid #FFF;
  53 + border-left-width: 4px;
  54 + -webkit-transition: all 0.3s;
  55 + -o-transition: all 0.3s;
  56 + transition: all 0.3s;
  57 +}
  58 +.ace-file-input .ace-file-container .ace-file-name {
  59 + display: inline-block;
  60 + height: 38px;
  61 + max-width: 80%;
  62 + white-space: nowrap;
  63 + overflow: hidden;
  64 + line-height: 38px;
  65 + color: #888888;
  66 + font-size: 13px;
  67 + vertical-align: top;
  68 + position: static;
  69 + padding-left: 36px;
  70 + }
  71 +
  72 + .ace-file-input .ace-file-container .ace-icon {
  73 + display: inline-block;
  74 + position: absolute;
  75 + left: 0;
  76 + top: 0;
  77 + bottom: 0;
  78 + line-height: 34px;
  79 + width: 36px;
  80 + text-align: center;
  81 + font-family: FontAwesome;
  82 + font-size: 13px;
  83 + border: 2px solid #FFF;
  84 + color: #FFF;
  85 + -webkit-transition: all 0.1s;
  86 + -o-transition: all 0.1s;
  87 + transition: all 0.1s;
  88 + background-color: #3bc2d6;
  89 + }
  90 +
  91 + .ace-file-input .ace-file-container .ace-file-name:after {
  92 + display: inline-block;
  93 + content: attr(data-title);
  94 +}
  95 +
  96 +
  97 +</style>
  98 +
  99 +</head>
  100 +<body class="no-skin">
  101 +
  102 + <!-- /section:basics/navbar.layout -->
  103 + <div class="main-container" id="main-container">
  104 + <!-- /section:basics/sidebar -->
  105 + <div class="main-content">
  106 + <div class="main-content-inner">
  107 + <div class="page-content">
  108 + <div class="row">
  109 + <div class="col-xs-12">
  110 + <form action="student/readExcel.do?CLASS_ID=${pd.CLASS_ID}&TERM_ID=${pd.TERM_ID}" name="Form" id="Form" method="post" enctype="multipart/form-data">
  111 + <div id="zhongxin">
  112 + <input type="hidden" name="CLASS_ID" id="CLASS_ID" value="${pd.CLASS_ID}"/>
  113 + <input type="hidden" name="TERM_ID" id="TERM_ID" value="${pd.TERM_ID}"/>
  114 + <table style="width:95%;" >
  115 + <tr>
  116 + <td style="padding-top: 20px;"><input type="file" id="excel" name="excel" style="width:50px;" onchange="fileType(this)" /></td>
  117 + </tr>
  118 + <tr>
  119 + <td style="text-align: center;padding-top: 10px;">
  120 + <a class="btn btn-mini btn-primary" style="background-color:#3bc2d6 !important;border-color:#3bc2d6 !important;width:200px; height:50px;line-height:50px;font-size:18px;margin-top:5%;padding:0" onclick="save();">Import</a>
  121 + <a class="btn btn-mini btn-primary" style="background-color:#87b87f !important;border-color:#87b87f !important;width:200px; height:50px;line-height:50px;font-size:18px;margin-top:5%;padding:0" href="static/files/Template.xls" target="_blank" >Download template</a>
  122 + </td>
  123 + </tr>
  124 + </table>
  125 + </div>
  126 + <div id="zhongxin2" class="center" style="display:none"><br/><img src="static/images/jzx.gif" /><br/><h4 class="lighter block green"></h4></div>
  127 + </form>
  128 + </div>
  129 + <!-- /.col -->
  130 + </div>
  131 + <!-- /.row -->
  132 + </div>
  133 + <!-- /.page-content -->
  134 + </div>
  135 + </div>
  136 + <!-- /.main-content -->
  137 + </div>
  138 + <!-- /.main-container -->
  139 +
  140 + <!-- basic scripts -->
  141 + <!-- 页面底部js¨ -->
  142 + <%@ include file="../../system/index/foot.jsp"%>
  143 + <!-- ace scripts -->
  144 + <script src="static/ace/js/ace/ace.js"></script>
  145 + <!-- 上传控件 -->
  146 + <script src="static/ace/js/ace/elements.fileinput.js"></script>
  147 + <!--提示框-->
  148 + <script type="text/javascript" src="static/js/jquery.tips.js"></script>
  149 + <script type="text/javascript">
  150 + $(function() {
  151 + //上传
  152 + $('#excel').ace_file_input({
  153 + no_file:'Please select a file in xls format',
  154 + btn_choose:'Select',
  155 + btn_change:'Modify',
  156 + droppable:false,
  157 + onchange:null,
  158 + thumbnail:false, //| true | large
  159 + whitelist:'xls|xls',
  160 + blacklist:'gif|png|jpg|jpeg'
  161 + //onchange:''
  162 + });
  163 + });
  164 +
  165 + //保存
  166 + function save(){
  167 + if($("#excel").val()=="" || document.getElementById("excel").files[0] =='Please select a file in xls format'){
  168 +
  169 + $("#excel").tips({
  170 + side:3,
  171 + msg:'Please select file',
  172 + bg:'#AE81FF',
  173 + time:3
  174 + });
  175 + return false;
  176 + }
  177 + $("#Form").submit();
  178 + $("#zhongxin").hide();
  179 + $("#zhongxin2").show();
  180 + }
  181 + function fileType(obj){
  182 + var fileType=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();//获得文件后缀名
  183 + if(fileType != '.xls'){
  184 + $("#excel").tips({
  185 + side:3,
  186 + msg:'Please select a file in xls format',
  187 + bg:'#AE81FF',
  188 + time:3
  189 + });
  190 + $("#excel").val('');
  191 + document.getElementById("excel").files[0] = 'Please select a file in xls format';
  192 + }
  193 + }
  194 + </script>
  195 +
  196 +
  197 +</body>
  198 +</html>
0 199 \ No newline at end of file
... ...
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_list2.jsp
... ... @@ -113,6 +113,12 @@
113 113 <div class="creat">
114 114 <input type="button" onclick="add();" value="添加老师" />
115 115 </div>
  116 + <div class="creat">
  117 + <input type="button" onclick="upload();" value="批量导入" />
  118 + </div>
  119 + <div class="creat">
  120 + <input type="button" onclick="export2();" value="批量导出" />
  121 + </div>
116 122 <div class="removeAll">
117 123 <input type="button" onclick="del()" value="删除" />
118 124 </div>
... ... @@ -278,6 +284,19 @@
278 284 }});
279 285 window.top.remove.show();
280 286 }
  287 + function upload(){
  288 + window.top.modal.init({
  289 + 'title':'EXCEL导入教师名单',
  290 + 'url':'<%=basePath%>teacher/goUploadExcel.do?school_id=${pd.SCHOOL_ID}',
  291 + func:function() {
  292 + tosearch();
  293 + }
  294 + });
  295 + window.top.modal.show();
  296 + }
  297 + function export2(){
  298 + window.open('<%=basePath%>teacher/excel?school_id=${pd.SCHOOL_ID}','_blank');
  299 + }
281 300 </script>
282 301  
283 302  
... ...
WebRoot/WEB-INF/jsp/sunvote/teacher/uploadexcel.jsp 0 → 100644
  1 +<%@ page language="java" contentType="text/html; charset=UTF-8"
  2 + pageEncoding="UTF-8"%>
  3 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  4 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  5 +<%
  6 + String path = request.getContextPath();
  7 + String basePath = request.getScheme() + "://"
  8 + + request.getServerName() + ":" + request.getServerPort()
  9 + + path + "/";
  10 +%>
  11 +<!DOCTYPE html>
  12 +<html lang="en">
  13 +<head>
  14 +<base href="<%=basePath%>">
  15 +
  16 +<!-- jsp文件头和头部 -->
  17 +<%@ include file="../../system/index/top.jsp"%>
  18 +
  19 +
  20 +<style>
  21 +
  22 +.ace-file-input .ace-file-container{
  23 +display: block;
  24 + position: absolute;
  25 + top: 0;
  26 + left: 0;
  27 + right: 0;
  28 + height: 40px;
  29 + background-color: #ffffff;
  30 + border: 1px solid #d5d5d5;
  31 + cursor: pointer;
  32 + -webkit-box-shadow: none;
  33 + box-shadow: none;
  34 + -webkit-transition: all 0.15s;
  35 + -o-transition: all 0.15s;
  36 + transition: all 0.15s;
  37 +}
  38 +.ace-file-input .ace-file-container:before{
  39 + display: inline-block;
  40 + content: attr(data-title);
  41 + position: absolute;
  42 + right: 0;
  43 + top: 0;
  44 + bottom: 0;
  45 + line-height: 34px;
  46 + text-align: center;
  47 + padding: 0 8px;
  48 + background-color: #3bc2d6;
  49 + color: #FFF;
  50 + font-size: 11px;
  51 + font-weight: bold;
  52 + border: 2px solid #FFF;
  53 + border-left-width: 4px;
  54 + -webkit-transition: all 0.3s;
  55 + -o-transition: all 0.3s;
  56 + transition: all 0.3s;
  57 +}
  58 +.ace-file-input .ace-file-container .ace-file-name {
  59 + display: inline-block;
  60 + height: 38px;
  61 + max-width: 80%;
  62 + white-space: nowrap;
  63 + overflow: hidden;
  64 + line-height: 38px;
  65 + color: #888888;
  66 + font-size: 13px;
  67 + vertical-align: top;
  68 + position: static;
  69 + padding-left: 36px;
  70 + }
  71 +
  72 + .ace-file-input .ace-file-container .ace-icon {
  73 + display: inline-block;
  74 + position: absolute;
  75 + left: 0;
  76 + top: 0;
  77 + bottom: 0;
  78 + line-height: 34px;
  79 + width: 36px;
  80 + text-align: center;
  81 + font-family: FontAwesome;
  82 + font-size: 13px;
  83 + border: 2px solid #FFF;
  84 + color: #FFF;
  85 + -webkit-transition: all 0.1s;
  86 + -o-transition: all 0.1s;
  87 + transition: all 0.1s;
  88 + background-color: #3bc2d6;
  89 + }
  90 +
  91 + .ace-file-input .ace-file-container .ace-file-name:after {
  92 + display: inline-block;
  93 + content: attr(data-title);
  94 +}
  95 +
  96 +
  97 +</style>
  98 +
  99 +</head>
  100 +<body class="no-skin">
  101 +
  102 + <!-- /section:basics/navbar.layout -->
  103 + <div class="main-container" id="main-container">
  104 + <!-- /section:basics/sidebar -->
  105 + <div class="main-content">
  106 + <div class="main-content-inner">
  107 + <div class="page-content">
  108 + <div class="row">
  109 + <div class="col-xs-12">
  110 + <form action="teacher/readExcel.do?SCHOOL_ID=${pd.SCHOOL_ID}" name="Form" id="Form" method="post" enctype="multipart/form-data">
  111 + <div id="zhongxin">
  112 + <input type="hidden" name="SCHOOL_ID" id="SCHOOL_ID" value="${pd.SCHOOL_ID}"/>
  113 +
  114 + <table style="width:95%;" >
  115 + <tr>
  116 + <td style="padding-top: 20px;"><input type="file" id="excel" name="excel" style="width:50px;" onchange="fileType(this)" /></td>
  117 + </tr>
  118 + <tr>
  119 + <td style="text-align: center;padding-top: 10px;">
  120 + <a class="btn btn-mini btn-primary" style="background-color:#3bc2d6 !important;border-color:#3bc2d6 !important;width:200px; height:50px;line-height:50px;font-size:18px;margin-top:5%;padding:0" onclick="save();">导入</a>
  121 + <a class="btn btn-mini btn-primary" style="background-color:#87b87f !important;border-color:#87b87f !important;width:200px; height:50px;line-height:50px;font-size:18px;margin-top:5%;padding:0" href="static/files/Template1.xls" target="_blank" >下载模板</a>
  122 + </td>
  123 + </tr>
  124 + </table>
  125 + </div>
  126 + <div id="zhongxin2" class="center" style="display:none"><br/><img src="static/images/jzx.gif" /><br/><h4 class="lighter block green"></h4></div>
  127 + </form>
  128 + </div>
  129 + <!-- /.col -->
  130 + </div>
  131 + <!-- /.row -->
  132 + </div>
  133 + <!-- /.page-content -->
  134 + </div>
  135 + </div>
  136 + <!-- /.main-content -->
  137 + </div>
  138 + <!-- /.main-container -->
  139 +
  140 + <!-- basic scripts -->
  141 + <!-- 页面底部js¨ -->
  142 + <%@ include file="../../system/index/foot.jsp"%>
  143 + <!-- ace scripts -->
  144 + <script src="static/ace/js/ace/ace.js"></script>
  145 + <!-- 上传控件 -->
  146 + <script src="static/ace/js/ace/elements.fileinput.js"></script>
  147 + <!--提示框-->
  148 + <script type="text/javascript" src="static/js/jquery.tips.js"></script>
  149 + <script type="text/javascript">
  150 + $(function() {
  151 + //上传
  152 + $('#excel').ace_file_input({
  153 + no_file:'请选择EXCEL ...',
  154 + btn_choose:'选择',
  155 + btn_change:'更改',
  156 + droppable:false,
  157 + onchange:null,
  158 + thumbnail:false, //| true | large
  159 + whitelist:'xls|xls',
  160 + blacklist:'gif|png|jpg|jpeg'
  161 + //onchange:''
  162 + });
  163 + });
  164 +
  165 + //保存
  166 + function save(){
  167 + if($("#excel").val()=="" || document.getElementById("excel").files[0] =='请选择xls格式的文件'){
  168 +
  169 + $("#excel").tips({
  170 + side:3,
  171 + msg:'请选择文件',
  172 + bg:'#AE81FF',
  173 + time:3
  174 + });
  175 + return false;
  176 + }
  177 + $("#Form").submit();
  178 + $("#zhongxin").hide();
  179 + $("#zhongxin2").show();
  180 + }
  181 + function fileType(obj){
  182 + var fileType=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();//获得文件后缀名
  183 + if(fileType != '.xls'){
  184 + $("#excel").tips({
  185 + side:3,
  186 + msg:'请上传xls格式的文件',
  187 + bg:'#AE81FF',
  188 + time:3
  189 + });
  190 + $("#excel").val('');
  191 + document.getElementById("excel").files[0] = '请选择xls格式的文件';
  192 + }
  193 + }
  194 + </script>
  195 +
  196 +
  197 +</body>
  198 +</html>
0 199 \ No newline at end of file
... ...
WebRoot/WEB-INF/jsp/system/index/login.jsp
... ... @@ -105,7 +105,7 @@ body{
105 105 </div>
106 106 </div>
107 107 <div class="div_foot">
108   - 备案许可证号: <a target= "_blank" href="http://www.miitbeian.gov.cn/">湘ICP备09025927号-10</a>
  108 + <!-- 备案许可证号: <a target= "_blank" href="http://www.miitbeian.gov.cn/">湘ICP备09025927号-10</a> -->
109 109 </div>
110 110 <script type="text/javascript">
111 111  
... ...
WebRoot/static/files/Template1.xls 0 → 100644
No preview for this file type
resources/mybatis1/api/V1Mapper.xml
... ... @@ -5,7 +5,7 @@
5 5 <!-- 通过教师ID获取班级数据 -->
6 6 <select id="getTeacherClassInfo" parameterType="pd" resultType="pd">
7 7 SELECT
8   - CLASS_ID,CLASS_NAME,CLASS_CODE
  8 + CLASS_ID,CLASS_NAME,CLASS_CODE,sv_sclass.GRADE_ID
9 9 FROM
10 10 sv_coursemanagement
11 11 LEFT JOIN sv_sclass ON sv_coursemanagement.CLASS_ID = sv_sclass.ID
... ...
resources/mybatis1/sunvote/PaperMapper.xml
... ... @@ -223,6 +223,12 @@
223 223 <if test="CLASS_ID != null and CLASS_ID != ''">
224 224 and CLASS_ID = #{CLASS_ID}
225 225 </if>
  226 + <if test="SCHOOL_ID != null and SCHOOL_ID != ''">
  227 + and SCHOOL_ID = #{SCHOOL_ID}
  228 + </if>
  229 + <if test="GRADE_ID != null and GRADE_ID != ''">
  230 + and GRADE_ID = #{GRADE_ID}
  231 + </if>
226 232  
227 233 <if test="START_DATE != null and START_DATE != ''"><!-- 关键词检索 -->
228 234 and (CREATE_DATE &gt; #{START_DATE})
... ...
resources/mybatis1/sunvote/StudentMapper.xml
... ... @@ -186,10 +186,12 @@
186 186 sv_student.PARENT_PHONE,
187 187 sv_student.KEYPAD_ID,
188 188 sv_student.REMARK,
189   - sv_student.ID
  189 + sv_student.ID,
  190 + sv_sclass.CLASS_NAME
190 191 from sv_student
191 192 LEFT JOIN sv_classroster cr ON sv_student.ID = cr.STUDENT_ID
192 193 LEFT JOIN sv_term ON cr.TEAMID = sv_term.TERM_ID
  194 + LEFT JOIN sv_sclass ON cr.SCLASS_ID = sv_sclass.ID
193 195 WHERE
194 196 1 = 1
195 197 AND sv_term.START_DATE &lt; NOW()
... ...
resources/mybatis1/sunvote/SubjectMapper.xml
... ... @@ -69,6 +69,16 @@
69 69 ID = #{ID}
70 70 </select>
71 71  
  72 + <!-- 通过cname获取数据 -->
  73 + <select id="findByCname" parameterType="pd" resultType="pd">
  74 + select
  75 + <include refid="Field"></include>
  76 + from
  77 + <include refid="tableName"></include>
  78 + where
  79 + CNAME = #{SUBJECT_IDS}
  80 + </select>
  81 +
72 82 <!-- 列表 -->
73 83 <select id="datalistPage" parameterType="page" resultType="pd">
74 84 select
... ...
resources/mybatis1/sunvote/TeacherMapper.xml
... ... @@ -23,6 +23,23 @@
23 23 ID
24 24 </sql>
25 25  
  26 + <sql id="Field2">
  27 + SV_TEACHER.SCHOOL_ID,
  28 + SV_TEACHER.`NAME`,
  29 + sv_school.`NAME` AS SCHOOL_NAME,
  30 + sv_subject.CNAME,
  31 + SV_TEACHER.PHONE,
  32 + SV_TEACHER.SEAT_PHONE,
  33 + SV_TEACHER.CARD_NO,
  34 + SV_TEACHER.ACCOUT,
  35 + SV_TEACHER.PASSWORD,
  36 + SV_TEACHER.SEX,
  37 + SV_TEACHER.SUBJECT_IDS,
  38 + SV_TEACHER.KEYPAD_ID,
  39 + SV_TEACHER.HEADMASTER,
  40 + SV_TEACHER.ID
  41 + </sql>
  42 +
26 43 <!-- 字段值 -->
27 44 <sql id="FieldValue">
28 45 #{SCHOOL_ID},
... ... @@ -134,6 +151,16 @@
134 151 </select>
135 152  
136 153 <!-- 通过ID获取数据 -->
  154 + <select id="findById2" parameterType="String" resultType="pd">
  155 + select
  156 + <include refid="Field"></include>
  157 + from
  158 + <include refid="tableName"></include>
  159 + where
  160 + ID = #{ID}
  161 + </select>
  162 +
  163 + <!-- 通过ID获取数据 -->
137 164 <select id="getUserInfo" parameterType="pd" resultType="pd">
138 165 select
139 166 <include refid="Field"></include>
... ... @@ -176,9 +203,11 @@
176 203 <!-- 列表(全部) -->
177 204 <select id="listAll" parameterType="pd" resultType="pd">
178 205 select
179   - <include refid="Field"></include>
  206 + <include refid="Field2"></include>
180 207 from
181 208 <include refid="tableName"></include>
  209 + LEFT JOIN sv_school ON sv_teacher.SCHOOL_ID = sv_school.ID
  210 + LEFT JOIN sv_subject on sv_teacher.SUBJECT_IDS = sv_subject.ID
182 211 where 1 = 1
183 212 <if test="SCHOOL_ID != null and SCHOOL_ID != ''"><!-- 关键词检索 -->
184 213 and
... ...
src/com/fh/controller/api/V1.java
... ... @@ -548,6 +548,13 @@ public class V1 extends BaseController {
548 548 * showcount;
549 549 pd.put("CURRENTPAGE", "" + currentPage);
550 550 }
  551 + PageData p = teacherService.findById2(pd.get("USER_ID").toString());
  552 + if(p != null){
  553 + pd.put("SCHOOL_ID", p.get("SCHOOL_ID"));
  554 + pd.remove("USER_ID");
  555 + }else{
  556 + pd.put("SCHOOL_ID", "");
  557 + }
551 558 List<PageData> pageList = paperService.listAllByType(pd);
552 559 res.setData(pageList);
553 560 } else {
... ...
src/com/fh/controller/sunvote/student/StudentController.java
... ... @@ -381,38 +381,43 @@ public class StudentController extends BaseController {
381 381 * @throws Exception
382 382 */
383 383 @RequestMapping(value="/excel")
384   - public ModelAndView exportExcel() throws Exception{
  384 + public ModelAndView exportExcel(Page page) throws Exception{
385 385 logBefore(logger, Jurisdiction.getUsername()+"导出Student到excel");
386 386 ModelAndView mv = new ModelAndView();
387 387 PageData pd = new PageData();
388 388 pd = this.getPageData();
  389 + page.setPd(pd);
389 390 Map<String,Object> dataMap = new HashMap<String,Object>();
390 391 List<String> titles = new ArrayList<String>();
391 392 titles.add("学生姓名"); //1
392   - titles.add("学籍号"); //2
393   - titles.add("学号"); //3
394   - titles.add("性别"); //4
395   - titles.add("组号"); //5
396   - titles.add("签到码"); //6
397   - titles.add("家长姓名"); //7
398   - titles.add("家长手机号"); //8
399   - titles.add("键盘ID"); //9
400   - titles.add("备注"); //10
  393 + titles.add("学号"); //2
  394 + titles.add("键盘ID"); //3
  395 + titles.add("年级"); //4
  396 +// titles.add("组号"); //5
  397 +// titles.add("签到码"); //6
  398 +// titles.add("家长姓名"); //7
  399 +// titles.add("家长手机号"); //8
  400 +// titles.add("键盘ID"); //9
  401 +// titles.add("备注"); //10
401 402 dataMap.put("titles", titles);
402   - List<PageData> varOList = studentService.listAll(pd);
  403 + List<PageData> varOList = studentService.listAllClass(pd);
403 404 List<PageData> varList = new ArrayList<PageData>();
404 405 for(int i=0;i<varOList.size();i++){
405 406 PageData vpd = new PageData();
406   - vpd.put("var1", varOList.get(i).getString("NAME")); //1
407   - vpd.put("var2", varOList.get(i).getString("SNO")); //2
408   - vpd.put("var3", varOList.get(i).getString("NUMBER")); //3
409   - vpd.put("var4", varOList.get(i).get("SEX").toString()); //4
410   - vpd.put("var5", varOList.get(i).getString("GROUP")); //5
411   - vpd.put("var6", varOList.get(i).getString("SIGN_NO")); //6
412   - vpd.put("var7", varOList.get(i).getString("PARENT_NAME")); //7
413   - vpd.put("var8", varOList.get(i).getString("PARENT_PHONE")); //8
414   - vpd.put("var9", varOList.get(i).getString("KEYPAD_ID")); //9
415   - vpd.put("var10", varOList.get(i).getString("REMARK")); //10
  407 + vpd.put("var1", varOList.get(i).getString("NAME"));
  408 + vpd.put("var2", varOList.get(i).getString("NUMBER"));
  409 + vpd.put("var3", varOList.get(i).getString("KEYPAD_ID"));
  410 + vpd.put("var4", varOList.get(i).getString("CLASS_NAME"));
  411 +// vpd.put("var1", varOList.get(i).getString("NAME")); //1
  412 +// vpd.put("var2", varOList.get(i).getString("SNO")); //2
  413 +// vpd.put("var3", varOList.get(i).getString("NUMBER")); //3
  414 +// vpd.put("var4", varOList.get(i).get("SEX").toString()); //4
  415 +// vpd.put("var5", varOList.get(i).getString("GROUP")); //5
  416 +// vpd.put("var6", varOList.get(i).getString("SIGN_NO")); //6
  417 +// vpd.put("var7", varOList.get(i).getString("PARENT_NAME")); //7
  418 +// vpd.put("var8", varOList.get(i).getString("PARENT_PHONE")); //8
  419 +// vpd.put("var9", varOList.get(i).getString("KEYPAD_ID")); //9
  420 +// vpd.put("var10", varOList.get(i).getString("REMARK")); //10
416 421 varList.add(vpd);
417 422 }
418 423 dataMap.put("varList", varList);
... ...
src/com/fh/controller/sunvote/teacher/TeacherController.java
... ... @@ -17,7 +17,9 @@ import org.springframework.stereotype.Controller;
17 17 import org.springframework.web.bind.WebDataBinder;
18 18 import org.springframework.web.bind.annotation.InitBinder;
19 19 import org.springframework.web.bind.annotation.RequestMapping;
  20 +import org.springframework.web.bind.annotation.RequestParam;
20 21 import org.springframework.web.bind.annotation.ResponseBody;
  22 +import org.springframework.web.multipart.MultipartFile;
21 23 import org.springframework.web.servlet.ModelAndView;
22 24  
23 25 import com.fh.controller.api.ResponseGson;
... ... @@ -30,9 +32,13 @@ import com.fh.service.sunvote.teacher.TeacherManager;
30 32 import com.fh.service.system.fhlog.FHlogManager;
31 33 import com.fh.service.system.user.UserManager;
32 34 import com.fh.util.AppUtil;
  35 +import com.fh.util.Const;
  36 +import com.fh.util.FileUpload;
33 37 import com.fh.util.Jurisdiction;
  38 +import com.fh.util.ObjectExcelRead;
34 39 import com.fh.util.ObjectExcelView;
35 40 import com.fh.util.PageData;
  41 +import com.fh.util.PathUtil;
36 42 import com.fh.util.Tools;
37 43  
38 44 /**
... ... @@ -718,7 +724,85 @@ public class TeacherController extends BaseController {
718 724 map.put("list", pdList);
719 725 return AppUtil.returnObject(pd, map);
720 726 }
  727 +
  728 + /**打开上传EXCEL页面
  729 + * @return
  730 + * @throws Exception
  731 + */
  732 + @RequestMapping(value="/goUploadExcel")
  733 + public ModelAndView goUploadExcel()throws Exception{
  734 + ModelAndView mv = this.getModelAndView();
  735 + mv.addObject("pd", getPageData());
  736 +
  737 + if(isChineseLanguageClient()){
  738 + mv.setViewName("sunvote/teacher/uploadexcel");
  739 + }else{
  740 + mv.setViewName("sunvote/teacher/en_uploadexcel");
  741 + }
  742 + return mv;
  743 + }
  744 +
721 745  
  746 + /**从EXCEL导入到数据库
  747 + * @param file
  748 + * @return
  749 + * @throws Exception
  750 + */
  751 + @RequestMapping(value="/readExcel")
  752 + public ModelAndView readExcel(
  753 + @RequestParam(value="excel",required=false) MultipartFile file
  754 + ) throws Exception{
  755 + logBefore(logger,Jurisdiction.getUsername() + "从EXCEL导入到数据库");
  756 + ModelAndView mv = this.getModelAndView();
  757 + PageData tpd = getPageData();
  758 + PageData pd = new PageData();
  759 +
  760 + String schoolID = tpd.getString("SCHOOL_ID");
  761 + if (null != file && !file.isEmpty()) {
  762 + String filePath = PathUtil.getClasspath() + Const.FILEPATHFILE; //文件上传路径
  763 + String fileName = FileUpload.fileUp(file, filePath, "userexcel"); //执行上传
  764 + List<PageData> listPd = (List)ObjectExcelRead.readExcel(filePath, fileName, 0, 0, 0); //执行读EXCEL操作,读出的数据导入List 2:从第3行开始;0:从第A列开始;0:第0个sheet
  765 + if(listPd.size() > 0 ){
  766 + pd= listPd.get(0);
  767 + for(int i = 1 ; i < listPd.size();i++){
  768 + PageData savePd = new PageData();
  769 + PageData temp = listPd.get(i);
  770 + for(int j = 0 ; ;j++){
  771 + if(temp.get("var" + j) == null){
  772 + break ;
  773 + }
  774 + if(temp.get("var" + j) != null && !"".equals(temp.get("var" + j).toString())){
  775 + savePd.put(pd.getString("var" + j).toUpperCase(), temp.get("var" + j));
  776 + }
  777 +
  778 + }
  779 + PageData page = subjectService.findByCname(savePd);
  780 + if(page!=null){
  781 + savePd.put("SUBJECT_IDS", page.get("ID"));
  782 + }else{
  783 + savePd.put("SUBJECT_IDS", "");
  784 + }
  785 + if(!savePd.containsKey("ID")){
  786 + if (savePd.values().size() > 0) {
  787 + String teacherId = this.get32UUID();
  788 + savePd.put("ID", teacherId);
  789 + savePd.put("SCHOOL_ID", schoolID);
  790 +
  791 + teacherService.save(savePd);
  792 + }
  793 +
  794 + }else{
  795 + teacherService.edit(savePd);
  796 + }
  797 + }
  798 +
  799 + }
  800 + }
  801 + mv.addObject("msg","success");
  802 + mv.setViewName("save_result2");
  803 + return mv;
  804 + }
  805 +
722 806 /**
723 807 * 导出到excel
724 808 *
... ... @@ -748,15 +832,15 @@ public class TeacherController extends BaseController {
748 832 List<PageData> varList = new ArrayList<PageData>();
749 833 for (int i = 0; i < varOList.size(); i++) {
750 834 PageData vpd = new PageData();
751   - vpd.put("var1", varOList.get(i).get("SCHOOL_ID").toString()); // 1
  835 + vpd.put("var1", varOList.get(i).get("SCHOOL_NAME").toString()); // 1
752 836 vpd.put("var2", varOList.get(i).getString("NAME")); // 2
753 837 vpd.put("var3", varOList.get(i).getString("PHONE")); // 3
754 838 vpd.put("var4", varOList.get(i).getString("SEAT_PHONE")); // 4
755 839 vpd.put("var5", varOList.get(i).getString("CARD_NO")); // 5
756 840 vpd.put("var6", varOList.get(i).getString("ACCOUT")); // 6
757 841 vpd.put("var7", varOList.get(i).getString("PASSWORD")); // 7
758   - vpd.put("var8", varOList.get(i).get("SEX").toString()); // 8
759   - vpd.put("var9", varOList.get(i).getString("SUBJECT_IDS")); // 9
  842 + vpd.put("var8", varOList.get(i).get("SEX").toString().equals("1")?"男":"女"); // 8
  843 + vpd.put("var9", varOList.get(i).getString("CNAME")); // 9
760 844 vpd.put("var10", varOList.get(i).getString("KEYPAD_ID")); // 10
761 845 varList.add(vpd);
762 846 }
... ...
src/com/fh/service/sunvote/subject/SubjectManager.java
... ... @@ -54,6 +54,12 @@ public interface SubjectManager{
54 54 */
55 55 public PageData findById(PageData pd)throws Exception;
56 56  
  57 + /**通过cname获取数据
  58 + * @param pd
  59 + * @throws Exception
  60 + */
  61 + public PageData findByCname(PageData pd)throws Exception;
  62 +
57 63 /**批量删除
58 64 * @param ArrayDATA_IDS
59 65 * @throws Exception
... ...
src/com/fh/service/sunvote/subject/impl/SubjectService.java
... ... @@ -97,6 +97,14 @@ public class SubjectService implements SubjectManager{
97 97 return (PageData)dao.findForObject("SubjectMapper.findById", pd);
98 98 }
99 99  
  100 + /**通过id获取数据
  101 + * @param pd
  102 + * @throws Exception
  103 + */
  104 + public PageData findByCname(PageData pd)throws Exception{
  105 + return (PageData)dao.findForObject("SubjectMapper.findByCname", pd);
  106 + }
  107 +
100 108 /**批量删除
101 109 * @param ArrayDATA_IDS
102 110 * @throws Exception
... ...
src/com/fh/service/sunvote/teacher/TeacherManager.java
... ... @@ -76,6 +76,12 @@ public interface TeacherManager{
76 76 */
77 77 public PageData findById(PageData pd)throws Exception;
78 78  
  79 + /**通过id获取数据
  80 + * @param pd
  81 + * @throws Exception
  82 + */
  83 + public PageData findById2(String ID)throws Exception;
  84 +
79 85 /**通过username&password获取数据
80 86 * @param pd
81 87 * @throws Exception
... ...
src/com/fh/service/sunvote/teacher/impl/TeacherService.java
... ... @@ -77,6 +77,14 @@ public class TeacherService implements TeacherManager{
77 77 * @param pd
78 78 * @throws Exception
79 79 */
  80 + public PageData findById2(String ID)throws Exception{
  81 + return (PageData)dao.findForObject("TeacherMapper.findById2", ID);
  82 + }
  83 +
  84 + /**通过id获取数据
  85 + * @param pd
  86 + * @throws Exception
  87 + */
80 88 public PageData getUserInfo(PageData pd)throws Exception{
81 89 return (PageData)dao.findForObject("TeacherMapper.getUserInfo", pd);
82 90 }
... ...