Blame view

src/com/fh/controller/sunvote/teacher/TeacherController.java 30.2 KB
57330ff4   孙向锦   添加一些模块信息
1
2
3
4
5
6
7
8
9
10
  package com.fh.controller.sunvote.teacher;
  
  import java.io.PrintWriter;
  import java.text.DateFormat;
  import java.text.SimpleDateFormat;
  import java.util.ArrayList;
  import java.util.Date;
  import java.util.HashMap;
  import java.util.List;
  import java.util.Map;
8ee66e91   孙向锦   更新链接
11
  
57330ff4   孙向锦   添加一些模块信息
12
  import javax.annotation.Resource;
8ee66e91   孙向锦   更新链接
13
  
bed6e1fc   孙向锦   添加其他功能
14
  import org.apache.shiro.crypto.hash.SimpleHash;
57330ff4   孙向锦   添加一些模块信息
15
16
17
18
19
  import org.springframework.beans.propertyeditors.CustomDateEditor;
  import org.springframework.stereotype.Controller;
  import org.springframework.web.bind.WebDataBinder;
  import org.springframework.web.bind.annotation.InitBinder;
  import org.springframework.web.bind.annotation.RequestMapping;
d7525cae   jack   1.学生老师导入导出
20
  import org.springframework.web.bind.annotation.RequestParam;
57330ff4   孙向锦   添加一些模块信息
21
  import org.springframework.web.bind.annotation.ResponseBody;
d7525cae   jack   1.学生老师导入导出
22
  import org.springframework.web.multipart.MultipartFile;
57330ff4   孙向锦   添加一些模块信息
23
  import org.springframework.web.servlet.ModelAndView;
8ee66e91   孙向锦   更新链接
24
  
c617106f   孙向锦   添加即时测功能
25
  import com.fh.controller.api.ResponseGson;
57330ff4   孙向锦   添加一些模块信息
26
27
  import com.fh.controller.base.BaseController;
  import com.fh.entity.Page;
c617106f   孙向锦   添加即时测功能
28
  import com.fh.service.api.V1Manager;
739794be   jack   1.bug修复
29
  import com.fh.service.sunvote.coursemanagement.CourseManagementManager;
bed6e1fc   孙向锦   添加其他功能
30
  import com.fh.service.sunvote.school.SchoolManager;
0786f023   孙向锦   修改教师不能删除的bug
31
  import com.fh.service.sunvote.subject.SubjectManager;
bed6e1fc   孙向锦   添加其他功能
32
33
34
  import com.fh.service.sunvote.teacher.TeacherManager;
  import com.fh.service.system.fhlog.FHlogManager;
  import com.fh.service.system.user.UserManager;
57330ff4   孙向锦   添加一些模块信息
35
  import com.fh.util.AppUtil;
d7525cae   jack   1.学生老师导入导出
36
37
  import com.fh.util.Const;
  import com.fh.util.FileUpload;
bed6e1fc   孙向锦   添加其他功能
38
  import com.fh.util.Jurisdiction;
d7525cae   jack   1.学生老师导入导出
39
  import com.fh.util.ObjectExcelRead;
57330ff4   孙向锦   添加一些模块信息
40
41
  import com.fh.util.ObjectExcelView;
  import com.fh.util.PageData;
d7525cae   jack   1.学生老师导入导出
42
  import com.fh.util.PathUtil;
c617106f   孙向锦   添加即时测功能
43
  import com.fh.util.Tools;
57330ff4   孙向锦   添加一些模块信息
44
  
c617106f   孙向锦   添加即时测功能
45
46
  /**
   * 说明:教师 创建人:Elvis 创建时间:2018-04-26
57330ff4   孙向锦   添加一些模块信息
47
48
   */
  @Controller
c617106f   孙向锦   添加即时测功能
49
  @RequestMapping(value = "/teacher")
57330ff4   孙向锦   添加一些模块信息
50
  public class TeacherController extends BaseController {
c617106f   孙向锦   添加即时测功能
51
52
53
  
  	String menuUrl = "teacher/list.do"; // 菜单地址(权限用)
  	@Resource(name = "teacherService")
57330ff4   孙向锦   添加一些模块信息
54
  	private TeacherManager teacherService;
c617106f   孙向锦   添加即时测功能
55
56
  
  	@Resource(name = "schoolService")
8ee66e91   孙向锦   更新链接
57
  	private SchoolManager schoolService;
c617106f   孙向锦   添加即时测功能
58
59
  
  	@Resource(name = "userService")
bed6e1fc   孙向锦   添加其他功能
60
  	private UserManager userService;
c617106f   孙向锦   添加即时测功能
61
62
  
  	@Resource(name = "fhlogService")
bed6e1fc   孙向锦   添加其他功能
63
  	private FHlogManager FHLOG;
d70c9e8c   jack   1.修改教师密码导出为明文
64
  
c617106f   孙向锦   添加即时测功能
65
66
67
  	@Resource(name = "v1Service")
  	private V1Manager v1Service;
  
d70c9e8c   jack   1.修改教师密码导出为明文
68
  	@Resource(name = "subjectService")
0786f023   孙向锦   修改教师不能删除的bug
69
  	private SubjectManager subjectService;
d70c9e8c   jack   1.修改教师密码导出为明文
70
71
  
  	@Resource(name = "coursemanagementService")
739794be   jack   1.bug修复
72
  	private CourseManagementManager coursemanagementService;
d70c9e8c   jack   1.修改教师密码导出为明文
73
  
c617106f   孙向锦   添加即时测功能
74
75
76
  	/**
  	 * 保存
  	 * 
57330ff4   孙向锦   添加一些模块信息
77
78
79
  	 * @param
  	 * @throws Exception
  	 */
c617106f   孙向锦   添加即时测功能
80
81
82
83
84
85
  	@RequestMapping(value = "/save")
  	public ModelAndView save() throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "新增Teacher");
  		if (!Jurisdiction.buttonJurisdiction(menuUrl, "add")) {
  			return null;
  		} // 校验权限
57330ff4   孙向锦   添加一些模块信息
86
87
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
57330ff4   孙向锦   添加一些模块信息
88
  		pd = this.getPageData();
a51b67cf   孙向锦   交互第一个版本
89
  		pd.put("ID", this.get32UUID());
c617106f   孙向锦   添加即时测功能
90
91
92
93
94
  
  		pd.put("USER_ID", pd.getString("ID")); // ID 主键
  		pd.put("LAST_LOGIN", ""); // 最后登录时间
  		pd.put("IP", ""); // IP
  		pd.put("STATUS", "0"); // 状态
bed6e1fc   孙向锦   添加其他功能
95
  		pd.put("SKIN", "default");
c617106f   孙向锦   添加即时测功能
96
  		pd.put("RIGHTS", "");
bed6e1fc   孙向锦   添加其他功能
97
  		pd.put("USERNAME", pd.getString("ACCOUT"));
c617106f   孙向锦   添加即时测功能
98
99
100
101
102
103
  		pd.put("ROLE_ID", "57bb1e6f138247a0b05cc721a5da1b64");
  		pd.put("PASSWORD",
  				new SimpleHash("SHA-1", pd.getString("ACCOUT"), pd
  						.getString("PASSWORD")).toString()); // 密码加密
  
  		if (null == userService.findByUsername(pd)) { // 判断用户名是否存在
d8407bb2   孙向锦   修复部分bug
104
  			teacherService.save(pd);
c617106f   孙向锦   添加即时测功能
105
106
107
  			userService.saveU(pd); // 执行保存
  			FHLOG.save(Jurisdiction.getUsername(),
  					"新增系统用户:" + pd.getString("USERNAME"));
bed6e1fc   孙向锦   添加其他功能
108
  		}
c617106f   孙向锦   添加即时测功能
109
110
  
  		mv.addObject("msg", "success");
57330ff4   孙向锦   添加一些模块信息
111
112
113
  		mv.setViewName("save_result");
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
114
  
8246d00c   孙向锦   修复bug
115
116
117
118
119
120
121
122
123
124
125
126
  	/**
  	 * 保存
  	 * 
  	 * @param
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/save2")
  	public ModelAndView save2() throws Exception {
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
  		pd.put("ID", this.get32UUID());
d70c9e8c   jack   1.修改教师密码导出为明文
127
  
8246d00c   孙向锦   修复bug
128
129
130
131
132
133
134
135
136
137
138
  		pd.put("USER_ID", pd.getString("ID")); // ID 主键
  		pd.put("LAST_LOGIN", ""); // 最后登录时间
  		pd.put("IP", ""); // IP
  		pd.put("STATUS", "0"); // 状态
  		pd.put("SKIN", "default");
  		pd.put("RIGHTS", "");
  		pd.put("USERNAME", pd.getString("ACCOUT"));
  		pd.put("ROLE_ID", "57bb1e6f138247a0b05cc721a5da1b64");
  		pd.put("PASSWORD",
  				new SimpleHash("SHA-1", pd.getString("ACCOUT"), pd
  						.getString("PASSWORD")).toString()); // 密码加密
d70c9e8c   jack   1.修改教师密码导出为明文
139
  
8246d00c   孙向锦   修复bug
140
  		if (null == userService.findByUsername(pd)) { // 判断用户名是否存在
a2414076   孙向锦   修改谢曲提交过来的bug
141
  			teacherService.save(pd);
8246d00c   孙向锦   修复bug
142
  			userService.saveU(pd); // 执行保存
a2414076   孙向锦   修改谢曲提交过来的bug
143
  			mv.addObject("msg", "success");
8246d00c   孙向锦   修复bug
144
145
  			FHLOG.save(Jurisdiction.getUsername(),
  					"新增系统用户:" + pd.getString("USERNAME"));
d70c9e8c   jack   1.修改教师密码导出为明文
146
  		} else {
a2414076   孙向锦   修改谢曲提交过来的bug
147
  			mv.addObject("msg", "用户名系统已存在。");
d70c9e8c   jack   1.修改教师密码导出为明文
148
  
8246d00c   孙向锦   修复bug
149
  		}
d70c9e8c   jack   1.修改教师密码导出为明文
150
  
8246d00c   孙向锦   修复bug
151
152
153
  		mv.setViewName("save_result2");
  		return mv;
  	}
c617106f   孙向锦   添加即时测功能
154
155
156
157
  
  	/**
  	 * 删除
  	 * 
57330ff4   孙向锦   添加一些模块信息
158
159
160
  	 * @param out
  	 * @throws Exception
  	 */
c617106f   孙向锦   添加即时测功能
161
162
163
164
165
166
  	@RequestMapping(value = "/delete")
  	public void delete(PrintWriter out) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "删除Teacher");
  		if (!Jurisdiction.buttonJurisdiction(menuUrl, "del")) {
  			return;
  		} // 校验权限
57330ff4   孙向锦   添加一些模块信息
167
  		PageData pd = new PageData();
d70c9e8c   jack   1.修改教师密码导出为明文
168
  		pd = this.getPageData();
bed6e1fc   孙向锦   添加其他功能
169
  		pd.put("USER_ID", pd.get("ID"));
57330ff4   孙向锦   添加一些模块信息
170
  		teacherService.delete(pd);
bed6e1fc   孙向锦   添加其他功能
171
  		userService.deleteU(pd);
57330ff4   孙向锦   添加一些模块信息
172
173
174
  		out.write("success");
  		out.close();
  	}
c617106f   孙向锦   添加即时测功能
175
176
177
178
  
  	/**
  	 * 修改
  	 * 
57330ff4   孙向锦   添加一些模块信息
179
180
181
  	 * @param
  	 * @throws Exception
  	 */
c617106f   孙向锦   添加即时测功能
182
183
184
185
186
187
  	@RequestMapping(value = "/edit")
  	public ModelAndView edit() throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "修改Teacher");
  		if (!Jurisdiction.buttonJurisdiction(menuUrl, "edit")) {
  			return null;
  		} // 校验权限
57330ff4   孙向锦   添加一些模块信息
188
189
190
191
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
  		teacherService.edit(pd);
ed19bdb6   孙向锦   修改密码逻辑
192
193
194
195
196
197
198
199
200
201
202
203
  		pd.put("USER_ID", pd.getString("ID")); // ID 主键
  		pd.put("LAST_LOGIN", ""); // 最后登录时间
  		pd.put("IP", ""); // IP
  		pd.put("STATUS", "0"); // 状态
  		pd.put("SKIN", "default");
  		pd.put("RIGHTS", "");
  		pd.put("USERNAME", pd.getString("ACCOUT"));
  		pd.put("ROLE_ID", "57bb1e6f138247a0b05cc721a5da1b64");
  		pd.put("PASSWORD",
  				new SimpleHash("SHA-1", pd.getString("ACCOUT"), pd
  						.getString("PASSWORD")).toString()); // 密码加密
  		userService.editU(pd); // 执行保存
c617106f   孙向锦   添加即时测功能
204
  		mv.addObject("msg", "success");
57330ff4   孙向锦   添加一些模块信息
205
206
207
  		mv.setViewName("save_result");
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
208
  
8246d00c   孙向锦   修复bug
209
210
211
212
213
214
215
216
217
  	/**
  	 * 修改
  	 * 
  	 * @param
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/edit2")
  	public ModelAndView edit2() throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "修改Teacher");
8246d00c   孙向锦   修复bug
218
219
220
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
5684bebe   孙向锦   修改密码
221
  		PageData n = teacherService.findById(pd);
739794be   jack   1.bug修复
222
  		PageData temp = new PageData();
d70c9e8c   jack   1.修改教师密码导出为明文
223
  		temp.put("TEACHER_ID", n.get("ID").toString());
739794be   jack   1.bug修复
224
225
226
227
  		PageData p = coursemanagementService.findByTid(temp);
  		pd.put("PASSWORD",
  				new SimpleHash("SHA-1", n.getString("ACCOUT"), pd
  						.getString("PASSWORD")).toString()); // 密码加密
8246d00c   孙向锦   修复bug
228
  		teacherService.edit(pd);
22e695bf   孙向锦   添加学生ID传送
229
230
231
232
233
234
  		pd.put("USER_ID", pd.getString("ID")); // ID 主键
  		pd.put("LAST_LOGIN", ""); // 最后登录时间
  		pd.put("IP", ""); // IP
  		pd.put("STATUS", "0"); // 状态
  		pd.put("SKIN", "default");
  		pd.put("RIGHTS", "");
ed19bdb6   孙向锦   修改密码逻辑
235
  		pd.put("USERNAME", n.getString("ACCOUT"));
22e695bf   孙向锦   添加学生ID传送
236
  		pd.put("ROLE_ID", "57bb1e6f138247a0b05cc721a5da1b64");
d70c9e8c   jack   1.修改教师密码导出为明文
237
  
ed19bdb6   孙向锦   修改密码逻辑
238
  		userService.editU(pd); // 执行保存
739794be   jack   1.bug修复
239
240
  		p.put("SUBJECT_ID", pd.get("SUBJECT_IDS"));
  		coursemanagementService.edit(p);
8246d00c   孙向锦   修复bug
241
242
243
244
  		mv.addObject("msg", "success");
  		mv.setViewName("save_result2");
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
245
  
5684bebe   孙向锦   修改密码
246
247
248
249
250
251
252
253
254
255
256
257
258
  	/**
  	 * 修改
  	 * 
  	 * @param
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/updatePassword", produces = "application/json;charset=UTF-8")
  	@ResponseBody
  	public String updatePassword() throws Exception {
  		PageData pd = new PageData();
  		pd = this.getPageData();
  		PageData n = teacherService.findById(pd);
  		ResponseGson<String> ret = new ResponseGson<String>();
d70c9e8c   jack   1.修改教师密码导出为明文
259
260
261
  		String oldPass = new SimpleHash("SHA-1", n.getString("ACCOUT"),
  				pd.get("OLDPASSWORD")).toString();
  		if (n.get("PASSWORD").equals(oldPass)) {
5684bebe   孙向锦   修改密码
262
263
264
265
266
267
268
  			teacherService.edit(pd);
  			pd.put("USER_ID", pd.getString("ID")); // ID 主键
  			pd.put("LAST_LOGIN", ""); // 最后登录时间
  			pd.put("IP", ""); // IP
  			pd.put("STATUS", "0"); // 状态
  			pd.put("SKIN", "default");
  			pd.put("RIGHTS", "");
ed19bdb6   孙向锦   修改密码逻辑
269
  			pd.put("USERNAME", n.getString("ACCOUT"));
5684bebe   孙向锦   修改密码
270
  			pd.put("ROLE_ID", "57bb1e6f138247a0b05cc721a5da1b64");
d70c9e8c   jack   1.修改教师密码导出为明文
271
272
  			pd.put("PASSWORD", new SimpleHash("SHA-1", n.getString("ACCOUT"),
  					pd.getString("PASSWORD")).toString()); // 密码加密
ed19bdb6   孙向锦   修改密码逻辑
273
  			userService.editU(pd); // 执行保存
5b3ed25d   jack   1.bug修复
274
  			teacherService.edit(pd);
5684bebe   孙向锦   修改密码
275
  			ret.setData("Success");
d70c9e8c   jack   1.修改教师密码导出为明文
276
  		} else {
ed19bdb6   孙向锦   修改密码逻辑
277
  			ret.set5Error();
5684bebe   孙向锦   修改密码
278
279
280
281
  			ret.setData("Fail");
  		}
  		return ret.toJson();
  	}
c617106f   孙向锦   添加即时测功能
282
283
284
285
286
287
288
289
290
291
292
293
294
295
  
  	/**
  	 * 列表
  	 * 
  	 * @param page
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/teach_paper")
  	public ModelAndView teach_paper(Page page) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "列表Paper");
  		String userId = this.getUserID();
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
d70c9e8c   jack   1.修改教师密码导出为明文
296
  		if (isChineseLanguageClient()) {
fd0087a8   孙向锦   添加英语语言
297
  			mv.setViewName("sunvote/teacher/teach_paper");
d70c9e8c   jack   1.修改教师密码导出为明文
298
  		} else {
fd0087a8   孙向锦   添加英语语言
299
300
  			mv.setViewName("sunvote/teacher/en_teach_paper");
  		}
757dfed6   孙向锦   样例报表
301
302
303
304
  		pd.put("userId", userId);
  		mv.addObject("pd", pd);
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
305
  
4b6a5239   孙向锦   管理员界面
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
  	/**
  	 * 列表
  	 * 
  	 * @param page
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/teach_paper1")
  	public ModelAndView teach_paper1(Page page) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "列表Paper");
  		String userId = this.getUserID();
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
  		mv.setViewName("sunvote/teacher/teach_paper1");
  		pd.put("userId", userId);
  		mv.addObject("pd", pd);
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
324
  
757dfed6   孙向锦   样例报表
325
326
327
328
329
330
331
332
333
334
335
336
337
  	/**
  	 * 列表
  	 * 
  	 * @param page
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/test_list")
  	public ModelAndView test_list(Page page) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "列表Paper");
  		String userId = this.getUserID();
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
bda221f4   孙向锦   0830版本
338
  		pd.put("userId", userId);
d70c9e8c   jack   1.修改教师密码导出为明文
339
  		if (isChineseLanguageClient()) {
fd0087a8   孙向锦   添加英语语言
340
  			mv.setViewName("sunvote/teacher/test_list");
d70c9e8c   jack   1.修改教师密码导出为明文
341
  		} else {
fd0087a8   孙向锦   添加英语语言
342
343
  			mv.setViewName("sunvote/teacher/en_test_list");
  		}
c617106f   孙向锦   添加即时测功能
344
345
346
  		mv.addObject("pd", pd);
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
347
  
c617106f   孙向锦   添加即时测功能
348
349
350
351
352
353
354
355
356
357
358
359
360
  	/**
  	 * 列表
  	 * 
  	 * @param page
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/paper_view")
  	public ModelAndView paper_view(Page page) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "列表Paper");
  		String userId = this.getUserID();
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
bda221f4   孙向锦   0830版本
361
  		pd.put("userId", userId);
d8407bb2   孙向锦   修复部分bug
362
363
  		pd.put("ID", getTeacherID());
  		PageData pageData = teacherService.findById(pd);
d70c9e8c   jack   1.修改教师密码导出为明文
364
365
  		pd.put("subject_id", pageData.get("SUBJECT_IDS"));
  		if (isChineseLanguageClient()) {
fd0087a8   孙向锦   添加英语语言
366
  			mv.setViewName("sunvote/teacher/paper_view");
d70c9e8c   jack   1.修改教师密码导出为明文
367
  		} else {
fd0087a8   孙向锦   添加英语语言
368
369
  			mv.setViewName("sunvote/teacher/en_paper_view");
  		}
c617106f   孙向锦   添加即时测功能
370
371
372
  		mv.addObject("pd", pd);
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
373
  
f143f558   孙向锦   修改管理员登录白屏问题
374
375
376
377
378
379
380
381
  	private String getSubjectID(String userId) {
  		PageData pt = new PageData();
  		pt.put("TEACHER_ID", userId);
  		try {
  			List<PageData> subjectList = v1Service.getTeacherSubjectInfo(pt);
  			if (subjectList != null && subjectList.size() > 0) {
  				return subjectList.get(0).getString("SUBJECT_ID");
  			}
d70c9e8c   jack   1.修改教师密码导出为明文
382
383
  		} catch (Exception ex) {
  		}
f143f558   孙向锦   修改管理员登录白屏问题
384
385
386
  		return null;
  	}
  
757dfed6   孙向锦   样例报表
387
388
389
390
391
392
  	/**
  	 * 列表
  	 * 
  	 * @param page
  	 * @throws Exception
  	 */
0aad4b6b   孙向锦   修复试题分页功能
393
394
395
396
397
398
399
  	@RequestMapping(value = "/paper_view2")
  	public ModelAndView paper_view2(Page page) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "列表Paper");
  		String userId = this.getUserID();
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
bda221f4   孙向锦   0830版本
400
  		pd.put("userId", userId);
d70c9e8c   jack   1.修改教师密码导出为明文
401
  		if (isChineseLanguageClient()) {
fd0087a8   孙向锦   添加英语语言
402
  			mv.setViewName("sunvote/teacher/paper_view2");
d70c9e8c   jack   1.修改教师密码导出为明文
403
  		} else {
fd0087a8   孙向锦   添加英语语言
404
405
  			mv.setViewName("sunvote/teacher/en_paper_view2");
  		}
0aad4b6b   孙向锦   修复试题分页功能
406
407
408
  		mv.addObject("pd", pd);
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
409
  
0aad4b6b   孙向锦   修复试题分页功能
410
411
412
413
414
415
  	/**
  	 * 列表
  	 * 
  	 * @param page
  	 * @throws Exception
  	 */
757dfed6   孙向锦   样例报表
416
417
418
419
420
421
422
  	@RequestMapping(value = "/paper_view1")
  	public ModelAndView paper_view1(Page page) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "列表Paper");
  		String userId = this.getUserID();
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
bda221f4   孙向锦   0830版本
423
  		pd.put("userId", userId);
d70c9e8c   jack   1.修改教师密码导出为明文
424
  		if (isChineseLanguageClient()) {
9006450d   jack   1、修改翻译文案
425
  			mv.setViewName("sunvote/teacher/paper_view1");
d70c9e8c   jack   1.修改教师密码导出为明文
426
  		} else {
9006450d   jack   1、修改翻译文案
427
428
  			mv.setViewName("sunvote/teacher/en_paper_view1");
  		}
d70c9e8c   jack   1.修改教师密码导出为明文
429
  
757dfed6   孙向锦   样例报表
430
431
432
  		mv.addObject("pd", pd);
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
433
  
f143f558   孙向锦   修改管理员登录白屏问题
434
435
436
437
438
439
440
441
442
443
444
445
446
447
  	/**
  	 * 列表
  	 * 
  	 * @param page
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/classansync")
  	public ModelAndView classansync(Page page) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "列表Paper");
  		String userId = this.getUserID();
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
  		pd.put("userId", userId);
d70c9e8c   jack   1.修改教师密码导出为明文
448
  		if (pd.get("TEST_ID") == null) {
f143f558   孙向锦   修改管理员登录白屏问题
449
450
  			pd.put("TEST_ID", pd.get("TESTPAPERID"));
  		}
d70c9e8c   jack   1.修改教师密码导出为明文
451
452
453
454
455
  		List<PageData> diffcultClassList = teacherService
  				.diffcultClassReport(pd);
  		for (PageData diffcultPd : diffcultClassList) {
  			double rightNum = Double.parseDouble(diffcultPd
  					.getString("RIGHT_NUM"));
a0ec879e   孙向锦   修改部分bug
456
  			double allNum = Double.parseDouble(diffcultPd.getString("ALL_NUM"));
d70c9e8c   jack   1.修改教师密码导出为明文
457
  			double persent = rightNum * 100.0 / allNum;
a0ec879e   孙向锦   修改部分bug
458
  			diffcultPd.put("RIGHT_PERSENT", String.format("%.2f", persent));
f143f558   孙向锦   修改管理员登录白屏问题
459
  		}
d70c9e8c   jack   1.修改教师密码导出为明文
460
461
462
463
464
465
  
  		List<PageData> diffcultStudentList = teacherService
  				.diffcultStudentReport(pd);
  		for (PageData diffcultPd : diffcultStudentList) {
  			double rightNum = Double.parseDouble(diffcultPd
  					.getString("RIGHT_NUM"));
a0ec879e   孙向锦   修改部分bug
466
  			double allNum = Double.parseDouble(diffcultPd.getString("ALL_NUM"));
d70c9e8c   jack   1.修改教师密码导出为明文
467
  			double persent = rightNum * 100.0 / allNum;
a0ec879e   孙向锦   修改部分bug
468
469
  			diffcultPd.put("RIGHT_PERSENT", String.format("%.2f", persent));
  		}
d70c9e8c   jack   1.修改教师密码导出为明文
470
471
472
473
474
475
  
  		List<PageData> knowadgeClassList = teacherService
  				.knowadgeClassReport(pd);
  		for (PageData diffcultPd : knowadgeClassList) {
  			double rightNum = Double.parseDouble(diffcultPd
  					.getString("RIGHT_NUM"));
a0ec879e   孙向锦   修改部分bug
476
  			double allNum = Double.parseDouble(diffcultPd.getString("ALL_NUM"));
d70c9e8c   jack   1.修改教师密码导出为明文
477
  			double persent = rightNum * 100.0 / allNum;
a0ec879e   孙向锦   修改部分bug
478
479
  			diffcultPd.put("RIGHT_PERSENT", String.format("%.2f", persent));
  		}
d70c9e8c   jack   1.修改教师密码导出为明文
480
481
482
483
484
485
  
  		List<PageData> knowadgeStudentList = teacherService
  				.knowadgeStudentReport(pd);
  		for (PageData diffcultPd : knowadgeStudentList) {
  			double rightNum = Double.parseDouble(diffcultPd
  					.getString("RIGHT_NUM"));
a0ec879e   孙向锦   修改部分bug
486
  			double allNum = Double.parseDouble(diffcultPd.getString("ALL_NUM"));
d70c9e8c   jack   1.修改教师密码导出为明文
487
  			double persent = rightNum * 100.0 / allNum;
a0ec879e   孙向锦   修改部分bug
488
489
490
491
492
493
494
495
  			diffcultPd.put("RIGHT_PERSENT", String.format("%.2f", persent));
  		}
  		mv.addObject("diffcultClassList", diffcultClassList);
  		mv.addObject("diffcultClassListSize", diffcultClassList.size());
  		mv.addObject("diffcultStudentList", diffcultStudentList);
  		mv.addObject("knowadgeClassList", knowadgeClassList);
  		mv.addObject("knowadgeClassListSize", knowadgeClassList.size());
  		mv.addObject("knowadgeStudentList", knowadgeStudentList);
d70c9e8c   jack   1.修改教师密码导出为明文
496
  
a0ec879e   孙向锦   修改部分bug
497
  		mv.setViewName("sunvote/teacher/paper_report");
f143f558   孙向锦   修改管理员登录白屏问题
498
499
500
  		mv.addObject("pd", pd);
  		return mv;
  	}
c617106f   孙向锦   添加即时测功能
501
502
503
504
505
506
507
508
509
510
511
  
  	/**
  	 * 列表
  	 * 
  	 * @param page
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/set_question")
  	public ModelAndView set_question(Page page) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "列表Paper");
  		ModelAndView mv = this.getModelAndView();
bda221f4   孙向锦   0830版本
512
  		String userId = this.getUserID();
c617106f   孙向锦   添加即时测功能
513
514
  		PageData pd = new PageData();
  		pd = this.getPageData();
bda221f4   孙向锦   0830版本
515
  		pd.put("userId", userId);
d70c9e8c   jack   1.修改教师密码导出为明文
516
  		if (isChineseLanguageClient()) {
fd0087a8   孙向锦   添加英语语言
517
  			mv.setViewName("sunvote/teacher/set_question");
d70c9e8c   jack   1.修改教师密码导出为明文
518
  		} else {
fd0087a8   孙向锦   添加英语语言
519
520
  			mv.setViewName("sunvote/teacher/en_set_question");
  		}
c617106f   孙向锦   添加即时测功能
521
522
523
524
525
526
527
  		mv.addObject("pd", pd);
  		return mv;
  	}
  
  	/**
  	 * 列表
  	 * 
57330ff4   孙向锦   添加一些模块信息
528
529
530
  	 * @param page
  	 * @throws Exception
  	 */
c617106f   孙向锦   添加即时测功能
531
532
533
534
535
  	@RequestMapping(value = "/list")
  	public ModelAndView list(Page page) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "列表Teacher");
  		// if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
  		// //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
57330ff4   孙向锦   添加一些模块信息
536
537
538
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
c617106f   孙向锦   添加即时测功能
539
540
  		String keywords = pd.getString("keywords"); // 关键词检索条件
  		if (null != keywords && !"".equals(keywords)) {
57330ff4   孙向锦   添加一些模块信息
541
542
543
  			pd.put("keywords", keywords.trim());
  		}
  		page.setPd(pd);
c617106f   孙向锦   添加即时测功能
544
  		List<PageData> varList = teacherService.list(page); // 列出Teacher列表
57330ff4   孙向锦   添加一些模块信息
545
546
  		mv.setViewName("sunvote/teacher/teacher_list");
  		mv.addObject("varList", varList);
c617106f   孙向锦   添加即时测功能
547
  
b5cf92b7   孙向锦   批量上传学生名单
548
  		List<PageData> schools = schoolService.listAll(pd);
c617106f   孙向锦   添加即时测功能
549
550
  		mv.addObject("schools", schools);
  
57330ff4   孙向锦   添加一些模块信息
551
  		mv.addObject("pd", pd);
c617106f   孙向锦   添加即时测功能
552
  		mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限
57330ff4   孙向锦   添加一些模块信息
553
554
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
555
  
8ba06cff   孙向锦   添加首页
556
557
558
559
560
561
  	/**
  	 * 列表
  	 * 
  	 * @param page
  	 * @throws Exception
  	 */
6b3a5ad0   孙向锦   添加管理员界面
562
  	@RequestMapping(value = "/listcs")
cba5931f   孙向锦   添加翻页
563
  	public ModelAndView listcs(Page page) throws Exception {
6b3a5ad0   孙向锦   添加管理员界面
564
565
566
567
  		logBefore(logger, Jurisdiction.getUsername() + "列表Teacher");
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
cba5931f   孙向锦   添加翻页
568
  		page.setPd(pd);
54a5b6ad   jack   1.英文翻译
569
  		page.setLangIsChina(isChineseLanguageClient());
cba5931f   孙向锦   添加翻页
570
  		List<PageData> varList = teacherService.list(page); // 列出Teacher列表
d70c9e8c   jack   1.修改教师密码导出为明文
571
  		if (isChineseLanguageClient()) {
54a5b6ad   jack   1.英文翻译
572
  			mv.setViewName("sunvote/teacher/teacher_list2");
d70c9e8c   jack   1.修改教师密码导出为明文
573
  		} else {
54a5b6ad   jack   1.英文翻译
574
575
  			mv.setViewName("sunvote/teacher/en_teacher_list2");
  		}
d70c9e8c   jack   1.修改教师密码导出为明文
576
  
6b3a5ad0   孙向锦   添加管理员界面
577
  		mv.addObject("varList", varList);
d70c9e8c   jack   1.修改教师密码导出为明文
578
  
6b3a5ad0   孙向锦   添加管理员界面
579
580
581
  		mv.addObject("pd", pd);
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
582
  
6b3a5ad0   孙向锦   添加管理员界面
583
584
585
586
587
588
  	/**
  	 * 列表
  	 * 
  	 * @param page
  	 * @throws Exception
  	 */
8ba06cff   孙向锦   添加首页
589
590
591
592
593
594
595
596
597
598
  	@RequestMapping(value = "/index")
  	public ModelAndView index() throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "列表Teacher");
  		// if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
  		// //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
  		ModelAndView mv = this.getModelAndView();
  		mv.setViewName("sunvote/teacher/indexPage");
  		mv.addObject("pd", this.getPageData());
  		return mv;
  	}
c617106f   孙向锦   添加即时测功能
599
600
601
602
  
  	/**
  	 * 去新增页面
  	 * 
57330ff4   孙向锦   添加一些模块信息
603
604
605
  	 * @param
  	 * @throws Exception
  	 */
c617106f   孙向锦   添加即时测功能
606
607
  	@RequestMapping(value = "/goAdd")
  	public ModelAndView goAdd() throws Exception {
57330ff4   孙向锦   添加一些模块信息
608
609
610
611
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
  		mv.setViewName("sunvote/teacher/teacher_edit");
c617106f   孙向锦   添加即时测功能
612
  
8ee66e91   孙向锦   更新链接
613
  		List<PageData> schools = schoolService.listAll(pd);
c617106f   孙向锦   添加即时测功能
614
615
  		mv.addObject("schools", schools);
  
57330ff4   孙向锦   添加一些模块信息
616
617
618
  		mv.addObject("msg", "save");
  		mv.addObject("pd", pd);
  		return mv;
c617106f   孙向锦   添加即时测功能
619
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
620
  
8246d00c   孙向锦   修复bug
621
622
623
624
625
  	@RequestMapping(value = "/goAdd2")
  	public ModelAndView goAdd2() throws Exception {
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
d70c9e8c   jack   1.修改教师密码导出为明文
626
  		if (isChineseLanguageClient()) {
54a5b6ad   jack   1.英文翻译
627
  			mv.setViewName("sunvote/teacher/teacher_edit2");
d70c9e8c   jack   1.修改教师密码导出为明文
628
  		} else {
54a5b6ad   jack   1.英文翻译
629
630
  			mv.setViewName("sunvote/teacher/en_teacher_edit2");
  		}
d70c9e8c   jack   1.修改教师密码导出为明文
631
  
8246d00c   孙向锦   修复bug
632
633
  		List<PageData> schools = schoolService.listAll(pd);
  		mv.addObject("schools", schools);
d70c9e8c   jack   1.修改教师密码导出为明文
634
  
0786f023   孙向锦   修改教师不能删除的bug
635
636
  		List<PageData> subjects = subjectService.listAllSchool(pd);
  		mv.addObject("subjects", subjects);
d70c9e8c   jack   1.修改教师密码导出为明文
637
  
8246d00c   孙向锦   修复bug
638
639
640
641
  		mv.addObject("msg", "save2");
  		mv.addObject("pd", pd);
  		return mv;
  	}
c617106f   孙向锦   添加即时测功能
642
643
644
645
  
  	/**
  	 * 去修改页面
  	 * 
57330ff4   孙向锦   添加一些模块信息
646
647
648
  	 * @param
  	 * @throws Exception
  	 */
c617106f   孙向锦   添加即时测功能
649
650
  	@RequestMapping(value = "/goEdit")
  	public ModelAndView goEdit() throws Exception {
57330ff4   孙向锦   添加一些模块信息
651
652
653
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
c617106f   孙向锦   添加即时测功能
654
  		pd = teacherService.findById(pd); // 根据ID读取
57330ff4   孙向锦   添加一些模块信息
655
  		mv.setViewName("sunvote/teacher/teacher_edit");
8ee66e91   孙向锦   更新链接
656
  		List<PageData> schools = schoolService.listAll(pd);
c617106f   孙向锦   添加即时测功能
657
  		mv.addObject("schools", schools);
57330ff4   孙向锦   添加一些模块信息
658
659
660
  		mv.addObject("msg", "edit");
  		mv.addObject("pd", pd);
  		return mv;
c617106f   孙向锦   添加即时测功能
661
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
662
  
48d44272   孙向锦   添加一些action
663
664
665
666
667
668
669
670
671
672
673
674
  	/**
  	 * 去修改页面
  	 * 
  	 * @param
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/goEdit2")
  	public ModelAndView goEdit2() throws Exception {
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
  		pd = teacherService.findById(pd); // 根据ID读取
d70c9e8c   jack   1.修改教师密码导出为明文
675
  		if (isChineseLanguageClient()) {
54a5b6ad   jack   1.英文翻译
676
  			mv.setViewName("sunvote/teacher/teacher_edit2");
d70c9e8c   jack   1.修改教师密码导出为明文
677
  		} else {
54a5b6ad   jack   1.英文翻译
678
679
  			mv.setViewName("sunvote/teacher/en_teacher_edit2");
  		}
48d44272   孙向锦   添加一些action
680
681
  		List<PageData> schools = schoolService.listAll(pd);
  		mv.addObject("schools", schools);
0786f023   孙向锦   修改教师不能删除的bug
682
683
  		List<PageData> subjects = subjectService.listAllSchool(pd);
  		mv.addObject("subjects", subjects);
8246d00c   孙向锦   修复bug
684
  		mv.addObject("msg", "edit2");
48d44272   孙向锦   添加一些action
685
686
687
  		mv.addObject("pd", pd);
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
688
  
22e695bf   孙向锦   添加学生ID传送
689
690
691
692
693
694
695
696
697
698
699
  	/**
  	 * 去修改页面
  	 * 
  	 * @param
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/goEdit3")
  	public ModelAndView goEdit3() throws Exception {
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
91de7adc   孙向锦   添加管理员页面
700
  		pd.put("ID", pd.get("TEACHER_ID"));
22e695bf   孙向锦   添加学生ID传送
701
  		pd = teacherService.findById(pd); // 根据ID读取
5684bebe   孙向锦   修改密码
702
  		pd.put("PASSWORD", "");
22e695bf   孙向锦   添加学生ID传送
703
704
705
  		mv.setViewName("sunvote/teacher/teacher_edit3");
  		List<PageData> schools = schoolService.listAll(pd);
  		mv.addObject("schools", schools);
0786f023   孙向锦   修改教师不能删除的bug
706
707
  		List<PageData> subjects = subjectService.listAllSchool(pd);
  		mv.addObject("subjects", subjects);
22e695bf   孙向锦   添加学生ID传送
708
709
710
711
  		mv.addObject("msg", "edit2");
  		mv.addObject("pd", pd);
  		return mv;
  	}
c617106f   孙向锦   添加即时测功能
712
713
714
715
  
  	/**
  	 * 批量删除
  	 * 
57330ff4   孙向锦   添加一些模块信息
716
717
718
  	 * @param
  	 * @throws Exception
  	 */
c617106f   孙向锦   添加即时测功能
719
  	@RequestMapping(value = "/deleteAll")
57330ff4   孙向锦   添加一些模块信息
720
  	@ResponseBody
c617106f   孙向锦   添加即时测功能
721
722
  	public Object deleteAll() throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "批量删除Teacher");
c617106f   孙向锦   添加即时测功能
723
724
  		PageData pd = new PageData();
  		Map<String, Object> map = new HashMap<String, Object>();
57330ff4   孙向锦   添加一些模块信息
725
726
727
  		pd = this.getPageData();
  		List<PageData> pdList = new ArrayList<PageData>();
  		String DATA_IDS = pd.getString("DATA_IDS");
c617106f   孙向锦   添加即时测功能
728
  		if (null != DATA_IDS && !"".equals(DATA_IDS)) {
57330ff4   孙向锦   添加一些模块信息
729
730
  			String ArrayDATA_IDS[] = DATA_IDS.split(",");
  			teacherService.deleteAll(ArrayDATA_IDS);
f4a73594   jack   1.增加班级统计报表和导出
731
  			userService.deleteAllU(ArrayDATA_IDS);
57330ff4   孙向锦   添加一些模块信息
732
  			pd.put("msg", "ok");
c617106f   孙向锦   添加即时测功能
733
  		} else {
57330ff4   孙向锦   添加一些模块信息
734
735
736
737
738
739
  			pd.put("msg", "no");
  		}
  		pdList.add(pd);
  		map.put("list", pdList);
  		return AppUtil.returnObject(pd, map);
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
740
741
742
743
  
  	/**
  	 * 打开上传EXCEL页面
  	 * 
d7525cae   jack   1.学生老师导入导出
744
745
746
  	 * @return
  	 * @throws Exception
  	 */
d70c9e8c   jack   1.修改教师密码导出为明文
747
748
  	@RequestMapping(value = "/goUploadExcel")
  	public ModelAndView goUploadExcel() throws Exception {
d7525cae   jack   1.学生老师导入导出
749
750
  		ModelAndView mv = this.getModelAndView();
  		mv.addObject("pd", getPageData());
d70c9e8c   jack   1.修改教师密码导出为明文
751
752
  
  		if (isChineseLanguageClient()) {
d7525cae   jack   1.学生老师导入导出
753
  			mv.setViewName("sunvote/teacher/uploadexcel");
d70c9e8c   jack   1.修改教师密码导出为明文
754
  		} else {
d7525cae   jack   1.学生老师导入导出
755
756
757
758
759
  			mv.setViewName("sunvote/teacher/en_uploadexcel");
  		}
  		return mv;
  	}
  
d70c9e8c   jack   1.修改教师密码导出为明文
760
761
762
  	/**
  	 * EXCEL导入到数据库
  	 * 
d7525cae   jack   1.学生老师导入导出
763
764
765
766
  	 * @param file
  	 * @return
  	 * @throws Exception
  	 */
d70c9e8c   jack   1.修改教师密码导出为明文
767
  	@RequestMapping(value = "/readExcel")
d7525cae   jack   1.学生老师导入导出
768
  	public ModelAndView readExcel(
d70c9e8c   jack   1.修改教师密码导出为明文
769
770
771
  			@RequestParam(value = "excel", required = false) MultipartFile file)
  			throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "从EXCEL导入到数据库");
d7525cae   jack   1.学生老师导入导出
772
773
774
  		ModelAndView mv = this.getModelAndView();
  		PageData tpd = getPageData();
  		PageData pd = new PageData();
d70c9e8c   jack   1.修改教师密码导出为明文
775
  
d7525cae   jack   1.学生老师导入导出
776
777
  		String schoolID = tpd.getString("SCHOOL_ID");
  		if (null != file && !file.isEmpty()) {
d70c9e8c   jack   1.修改教师密码导出为明文
778
779
780
781
782
783
784
785
  			String filePath = PathUtil.getClasspath() + Const.FILEPATHFILE; // 文件上传路径
  			String fileName = FileUpload.fileUp(file, filePath, "userexcel"); // 执行上传
  			List<PageData> listPd = (List) ObjectExcelRead.readExcel(filePath,
  					fileName, 0, 0, 0); // 执行读EXCEL操作,读出的数据导入List
  										// 2:从第3行开始;0:从第A列开始;0:第0个sheet
  			if (listPd.size() > 0) {
  				pd = listPd.get(0);
  				for (int i = 1; i < listPd.size(); i++) {
d7525cae   jack   1.学生老师导入导出
786
787
  					PageData savePd = new PageData();
  					PageData temp = listPd.get(i);
d70c9e8c   jack   1.修改教师密码导出为明文
788
789
790
791
792
793
794
795
  					for (int j = 0; j < 9; j++) {
  						if (temp.get("var" + j) == null
  								|| temp.get("var" + j).toString().equals("")) {
  							if (j == 0) { // 姓名
  								mv.addObject("state", "fail");
  								mv.addObject("msg", "本次成功导入"
  										+ (i - 1 >= 0 ? i - 1 : 0) + "条数据,第"
  										+ i + "行姓名不能为空");
23bcd26d   jack   教师导入增加必填字段校验
796
797
  								mv.setViewName("save_result2");
  								return mv;
d70c9e8c   jack   1.修改教师密码导出为明文
798
799
800
801
802
  							} else if (j == 4) { // 账户
  								mv.addObject("state", "fail");
  								mv.addObject("msg", "本次成功导入"
  										+ (i - 1 >= 0 ? i - 1 : 0) + "条数据,第"
  										+ i + "行账户不能为空");
23bcd26d   jack   教师导入增加必填字段校验
803
804
  								mv.setViewName("save_result2");
  								return mv;
d70c9e8c   jack   1.修改教师密码导出为明文
805
806
807
808
809
810
811
812
  							} else if (j == 5) { // 密码
  								savePd.put(pd.getString("var" + j)
  										.toUpperCase(), "123456");
  							} else if (j == 8) { // 科目
  								mv.addObject("state", "fail");
  								mv.addObject("msg", "本次成功导入"
  										+ (i - 1 >= 0 ? i - 1 : 0) + "条数据,第"
  										+ i + "行科目不能为空");
23bcd26d   jack   教师导入增加必填字段校验
813
814
815
  								mv.setViewName("save_result2");
  								return mv;
  							}
d70c9e8c   jack   1.修改教师密码导出为明文
816
  
d7525cae   jack   1.学生老师导入导出
817
  						}
d70c9e8c   jack   1.修改教师密码导出为明文
818
819
820
821
  						if (temp.get("var" + j) != null
  								&& !"".equals(temp.get("var" + j).toString())) {
  							savePd.put(pd.getString("var" + j).toUpperCase(),
  									temp.get("var" + j));
d7525cae   jack   1.学生老师导入导出
822
  						}
d70c9e8c   jack   1.修改教师密码导出为明文
823
  
d7525cae   jack   1.学生老师导入导出
824
  					}
d70c9e8c   jack   1.修改教师密码导出为明文
825
826
827
  					savePd.put("PASSWORD",
  							new SimpleHash("SHA-1", savePd.getString("ACCOUT"),
  									savePd.getString("PASSWORD")).toString()); // 密码加密
d7525cae   jack   1.学生老师导入导出
828
  					PageData page = subjectService.findByCname(savePd);
d70c9e8c   jack   1.修改教师密码导出为明文
829
  					if (page != null) {
d7525cae   jack   1.学生老师导入导出
830
  						savePd.put("SUBJECT_IDS", page.get("ID"));
d70c9e8c   jack   1.修改教师密码导出为明文
831
  					} else {
d7525cae   jack   1.学生老师导入导出
832
833
  						savePd.put("SUBJECT_IDS", "");
  					}
d70c9e8c   jack   1.修改教师密码导出为明文
834
  					if (!savePd.containsKey("ID")) {
d7525cae   jack   1.学生老师导入导出
835
836
837
838
  						if (savePd.values().size() > 0) {
  							String teacherId = this.get32UUID();
  							savePd.put("ID", teacherId);
  							savePd.put("SCHOOL_ID", schoolID);
d70c9e8c   jack   1.修改教师密码导出为明文
839
  
f4a73594   jack   1.增加班级统计报表和导出
840
841
  							PageData p = new PageData();
  							p.put("USERNAME", savePd.getString("ACCOUT"));
d70c9e8c   jack   1.修改教师密码导出为明文
842
843
  
  							if (null == userService.findByUsername(p)) {
f4a73594   jack   1.增加班级统计报表和导出
844
  								p.put("USER_ID", savePd.get("ID"));
d70c9e8c   jack   1.修改教师密码导出为明文
845
846
847
848
  								p.put("ROLE_ID",
  										"57bb1e6f138247a0b05cc721a5da1b64");
  								p.put("PASSWORD", savePd.getString("PASSWORD")
  										.toString()); // 密码加密
f4a73594   jack   1.增加班级统计报表和导出
849
850
851
852
853
  								p.put("LAST_LOGIN", ""); // 最后登录时间
  								p.put("IP", ""); // IP
  								p.put("STATUS", "0"); // 状态
  								p.put("SKIN", "default");
  								p.put("RIGHTS", "");
d70c9e8c   jack   1.修改教师密码导出为明文
854
855
  								p.put("NAME", savePd.getString("NAME"));
  
f4a73594   jack   1.增加班级统计报表和导出
856
857
858
  								userService.saveU(p);
  								FHLOG.save(Jurisdiction.getUsername(),
  										"新增系统用户:" + pd.getString("USERNAME"));
d70c9e8c   jack   1.修改教师密码导出为明文
859
860
861
862
863
  							} else {
  								mv.addObject("state", "fail");
  								mv.addObject("msg", "本次成功导入"
  										+ (i - 1 >= 0 ? i - 1 : 0) + "条数据,第"
  										+ i + "行用户名系统已存在。");
f4a73594   jack   1.增加班级统计报表和导出
864
865
866
  								mv.setViewName("save_result2");
  								return mv;
  							}
d70c9e8c   jack   1.修改教师密码导出为明文
867
  
d7525cae   jack   1.学生老师导入导出
868
869
  							teacherService.save(savePd);
  						}
d70c9e8c   jack   1.修改教师密码导出为明文
870
871
  
  					} else {
d7525cae   jack   1.学生老师导入导出
872
873
874
  						teacherService.edit(savePd);
  					}
  				}
d70c9e8c   jack   1.修改教师密码导出为明文
875
  
d7525cae   jack   1.学生老师导入导出
876
877
  			}
  		}
d70c9e8c   jack   1.修改教师密码导出为明文
878
  		mv.addObject("msg", "success");
d7525cae   jack   1.学生老师导入导出
879
880
881
  		mv.setViewName("save_result2");
  		return mv;
  	}
d70c9e8c   jack   1.修改教师密码导出为明文
882
  
c617106f   孙向锦   添加即时测功能
883
884
885
  	/**
  	 * 导出到excel
  	 * 
57330ff4   孙向锦   添加一些模块信息
886
887
888
  	 * @param
  	 * @throws Exception
  	 */
c617106f   孙向锦   添加即时测功能
889
890
891
  	@RequestMapping(value = "/excel")
  	public ModelAndView exportExcel() throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "导出Teacher到excel");
57330ff4   孙向锦   添加一些模块信息
892
893
894
  		ModelAndView mv = new ModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
c617106f   孙向锦   添加即时测功能
895
  		Map<String, Object> dataMap = new HashMap<String, Object>();
57330ff4   孙向锦   添加一些模块信息
896
  		List<String> titles = new ArrayList<String>();
c617106f   孙向锦   添加即时测功能
897
898
899
900
901
902
903
904
905
906
  		titles.add("所在学校"); // 1
  		titles.add("姓名"); // 2
  		titles.add("电话"); // 3
  		titles.add("座机电话"); // 4
  		titles.add("证件号"); // 5
  		titles.add("账号"); // 6
  		titles.add("密码"); // 7
  		titles.add("性别"); // 8
  		titles.add("科目列表"); // 9
  		titles.add("教师卡编号"); // 10
57330ff4   孙向锦   添加一些模块信息
907
908
909
  		dataMap.put("titles", titles);
  		List<PageData> varOList = teacherService.listAll(pd);
  		List<PageData> varList = new ArrayList<PageData>();
c617106f   孙向锦   添加即时测功能
910
  		for (int i = 0; i < varOList.size(); i++) {
57330ff4   孙向锦   添加一些模块信息
911
  			PageData vpd = new PageData();
d7525cae   jack   1.学生老师导入导出
912
  			vpd.put("var1", varOList.get(i).get("SCHOOL_NAME").toString()); // 1
d70c9e8c   jack   1.修改教师密码导出为明文
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
  			vpd.put("var2", varOList.get(i).getString("NAME") == null ? ""
  					: varOList.get(i).getString("NAME")); // 2
  			vpd.put("var3", varOList.get(i).getString("PHONE") == null ? ""
  					: varOList.get(i).getString("PHONE")); // 3
  			vpd.put("var4",
  					varOList.get(i).getString("SEAT_PHONE") == null ? ""
  							: varOList.get(i).getString("SEAT_PHONE")); // 4
  			vpd.put("var5", varOList.get(i).getString("CARD_NO") == null ? ""
  					: varOList.get(i).getString("CARD_NO")); // 5
  			vpd.put("var6", varOList.get(i).getString("ACCOUT") == null ? ""
  					: varOList.get(i).getString("ACCOUT")); // 6
  			vpd.put("var7", varOList.get(i).getString("PASSWORD") == null ? ""
  					: varOList.get(i).getString("PASSWORD")); // 7
  			vpd.put("var8", varOList.get(i).get("SEX") == null ? "" : varOList
  					.get(i).get("SEX").toString().equals("1") ? "男" : "女"); // 8
  			vpd.put("var9", varOList.get(i).getString("CNAME") == null ? ""
  					: varOList.get(i).getString("CNAME")); // 9
  			vpd.put("var10",
  					varOList.get(i).getString("KEYPAD_ID") == null ? ""
  							: varOList.get(i).getString("KEYPAD_ID")); // 10
57330ff4   孙向锦   添加一些模块信息
933
934
935
936
  			varList.add(vpd);
  		}
  		dataMap.put("varList", varList);
  		ObjectExcelView erv = new ObjectExcelView();
c617106f   孙向锦   添加即时测功能
937
  		mv = new ModelAndView(erv, dataMap);
57330ff4   孙向锦   添加一些模块信息
938
939
  		return mv;
  	}
c617106f   孙向锦   添加即时测功能
940
  
57330ff4   孙向锦   添加一些模块信息
941
  	@InitBinder
c617106f   孙向锦   添加即时测功能
942
  	public void initBinder(WebDataBinder binder) {
57330ff4   孙向锦   添加一些模块信息
943
  		DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
c617106f   孙向锦   添加即时测功能
944
945
  		binder.registerCustomEditor(Date.class, new CustomDateEditor(format,
  				true));
57330ff4   孙向锦   添加一些模块信息
946
  	}
c617106f   孙向锦   添加即时测功能
947
948
949
950
951
952
953
954
955
956
957
958
  
  	/**
  	 * 批量删除
  	 * 
  	 * @param
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/info", produces = "application/json;charset=UTF-8")
  	@ResponseBody
  	public Object info() throws Exception {
  		PageData pd = this.getPageData();
  		ResponseGson<PageData> res = new ResponseGson();
fcd1fe57   孙向锦   报表数据
959
  		pd.put("ID", this.getTeacherID());
c617106f   孙向锦   添加即时测功能
960
961
962
963
964
965
  		PageData pageData = teacherService.findById(pd);
  		if (pageData != null && pageData.getString("ID") != null) {
  			pageData.put("PASSWORD", "");// 返回参数中不返回密码
  			PageData pt = new PageData();
  			pt.put("TEACHER_ID", pageData.get("ID"));
  			// 在任课表中查找老师教哪些班级,然后查出班级信息
d70c9e8c   jack   1.修改教师密码导出为明文
966
  			List<PageData> classInfoList = v1Service.getTeacherClassInfo(pt);
d8407bb2   孙向锦   修复部分bug
967
  			pt.put("ID", pageData.get("SUBJECT_IDS"));
d70c9e8c   jack   1.修改教师密码导出为明文
968
  
c617106f   孙向锦   添加即时测功能
969
970
  			pageData.put("classInfoList", classInfoList);
  			// 在认可表中查找老师教哪些科目,然后查出科目信息
d8407bb2   孙向锦   修复部分bug
971
972
  			List<PageData> subjectList = new ArrayList<PageData>();
  			PageData tmpd = subjectService.findById(pt);
d70c9e8c   jack   1.修改教师密码导出为明文
973
  			if (tmpd != null) {
d8407bb2   孙向锦   修复部分bug
974
975
976
  				tmpd.put("SUBJECT_ID", tmpd.get("ID"));
  			}
  			subjectList.add(tmpd);
d70c9e8c   jack   1.修改教师密码导出为明文
977
  			// v1Service.getTeacherSubjectInfo(pt);
c617106f   孙向锦   添加即时测功能
978
979
  			// 一个sql语句完成。
  			pageData.put("subjectList", subjectList);
d70c9e8c   jack   1.修改教师密码导出为明文
980
  
c617106f   孙向锦   添加即时测功能
981
  			pageData.remove("SUBJECT_IDS");
d70c9e8c   jack   1.修改教师密码导出为明文
982
  
c617106f   孙向锦   添加即时测功能
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
  			PageData eventPd = new PageData();
  			eventPd.put("EVENT_ID", get32UUID());
  			eventPd.put("EVENT_NAME", "login");
  			eventPd.put("EVENT_USER", pageData.getString("ID"));
  			eventPd.put("EVENT_TYPE", "0");
  			eventPd.put("EVENT_START_TIME", Tools.date2Str(new Date()));
  			if (pd.getString("CLIENT_ID") != null) {
  				eventPd.put("CLIENT_ID", pd.getString("CLIENT_ID"));
  			} else {
  				eventPd.put("CLIENT_ID", "CLIENT");
  			}
  			res.setData(pageData);
  			// 填充数据到返回数据中
  		} else {
  			res.set1Error();
  		}
d70c9e8c   jack   1.修改教师密码导出为明文
999
  
c617106f   孙向锦   添加即时测功能
1000
1001
  		return res.toJson();
  	}
c617106f   孙向锦   添加即时测功能
1002
  
57330ff4   孙向锦   添加一些模块信息
1003
  }