Blame view

src/com/fh/controller/sunvote/homework/HomeworkController.java 8.05 KB
be2f84a1   孙向锦   添加课后作业基础模块数据
1
2
3
4
5
6
7
8
9
10
  package com.fh.controller.sunvote.homework;
  
  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;
a479f295   孙向锦   添加了报表逻辑
11
  
be2f84a1   孙向锦   添加课后作业基础模块数据
12
  import javax.annotation.Resource;
a479f295   孙向锦   添加了报表逻辑
13
  
be2f84a1   孙向锦   添加课后作业基础模块数据
14
15
16
17
18
19
20
  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;
  import org.springframework.web.bind.annotation.ResponseBody;
  import org.springframework.web.servlet.ModelAndView;
a479f295   孙向锦   添加了报表逻辑
21
  
be2f84a1   孙向锦   添加课后作业基础模块数据
22
23
  import com.fh.controller.base.BaseController;
  import com.fh.entity.Page;
a479f295   孙向锦   添加了报表逻辑
24
25
  import com.fh.service.sunvote.homework.HomeworkManager;
  import com.fh.service.sunvote.homework.HomeworkReportManager;
be2f84a1   孙向锦   添加课后作业基础模块数据
26
  import com.fh.util.AppUtil;
a479f295   孙向锦   添加了报表逻辑
27
  import com.fh.util.Jurisdiction;
be2f84a1   孙向锦   添加课后作业基础模块数据
28
29
  import com.fh.util.ObjectExcelView;
  import com.fh.util.PageData;
a479f295   孙向锦   添加了报表逻辑
30
  import com.google.gson.Gson;
be2f84a1   孙向锦   添加课后作业基础模块数据
31
  
a479f295   孙向锦   添加了报表逻辑
32
33
  /**
   * 说明:作业 创建人:FH Q313596790 创建时间:2019-03-07
be2f84a1   孙向锦   添加课后作业基础模块数据
34
35
   */
  @Controller
a479f295   孙向锦   添加了报表逻辑
36
  @RequestMapping(value = "/homework")
be2f84a1   孙向锦   添加课后作业基础模块数据
37
  public class HomeworkController extends BaseController {
a479f295   孙向锦   添加了报表逻辑
38
39
40
  
  	String menuUrl = "homework/list.do"; // 菜单地址(权限用)
  	@Resource(name = "homeworkService")
be2f84a1   孙向锦   添加课后作业基础模块数据
41
  	private HomeworkManager homeworkService;
a479f295   孙向锦   添加了报表逻辑
42
43
44
45
46
47
  	@Resource(name = "homeworkReporService")
  	private HomeworkReportManager homeworkReporService;
  
  	/**
  	 * 保存
  	 * 
be2f84a1   孙向锦   添加课后作业基础模块数据
48
49
50
  	 * @param
  	 * @throws Exception
  	 */
a479f295   孙向锦   添加了报表逻辑
51
52
53
54
55
56
  	@RequestMapping(value = "/save")
  	public ModelAndView save() throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "新增Homework");
  		if (!Jurisdiction.buttonJurisdiction(menuUrl, "add")) {
  			return null;
  		} // 校验权限
be2f84a1   孙向锦   添加课后作业基础模块数据
57
58
59
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
a479f295   孙向锦   添加了报表逻辑
60
  		pd.put("HOMEWORK_ID", this.get32UUID()); // 主键
be2f84a1   孙向锦   添加课后作业基础模块数据
61
  		homeworkService.save(pd);
a479f295   孙向锦   添加了报表逻辑
62
  		mv.addObject("msg", "success");
be2f84a1   孙向锦   添加课后作业基础模块数据
63
64
65
  		mv.setViewName("save_result");
  		return mv;
  	}
a479f295   孙向锦   添加了报表逻辑
66
67
68
69
  
  	/**
  	 * 删除
  	 * 
be2f84a1   孙向锦   添加课后作业基础模块数据
70
71
72
  	 * @param out
  	 * @throws Exception
  	 */
a479f295   孙向锦   添加了报表逻辑
73
74
75
  	@RequestMapping(value = "/delete")
  	public void delete(PrintWriter out) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "删除Homework");
be2f84a1   孙向锦   添加课后作业基础模块数据
76
77
78
79
80
81
  		PageData pd = new PageData();
  		pd = this.getPageData();
  		homeworkService.delete(pd);
  		out.write("success");
  		out.close();
  	}
a479f295   孙向锦   添加了报表逻辑
82
83
84
85
  
  	/**
  	 * 修改
  	 * 
be2f84a1   孙向锦   添加课后作业基础模块数据
86
87
88
  	 * @param
  	 * @throws Exception
  	 */
a479f295   孙向锦   添加了报表逻辑
89
90
91
92
93
94
  	@RequestMapping(value = "/edit")
  	public ModelAndView edit() throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "修改Homework");
  		if (!Jurisdiction.buttonJurisdiction(menuUrl, "edit")) {
  			return null;
  		} // 校验权限
be2f84a1   孙向锦   添加课后作业基础模块数据
95
96
97
98
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
  		homeworkService.edit(pd);
a479f295   孙向锦   添加了报表逻辑
99
  		mv.addObject("msg", "success");
be2f84a1   孙向锦   添加课后作业基础模块数据
100
101
102
  		mv.setViewName("save_result");
  		return mv;
  	}
a479f295   孙向锦   添加了报表逻辑
103
104
105
106
  
  	/**
  	 * 列表
  	 * 
be2f84a1   孙向锦   添加课后作业基础模块数据
107
108
109
  	 * @param page
  	 * @throws Exception
  	 */
a479f295   孙向锦   添加了报表逻辑
110
111
112
113
114
  	@RequestMapping(value = "/list")
  	public ModelAndView list(Page page) throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "列表Homework");
  		// if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
  		// //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
be2f84a1   孙向锦   添加课后作业基础模块数据
115
116
117
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
a479f295   孙向锦   添加了报表逻辑
118
119
  		String keywords = pd.getString("keywords"); // 关键词检索条件
  		if (null != keywords && !"".equals(keywords)) {
be2f84a1   孙向锦   添加课后作业基础模块数据
120
121
122
  			pd.put("keywords", keywords.trim());
  		}
  		page.setPd(pd);
a479f295   孙向锦   添加了报表逻辑
123
  		List<PageData> varList = homeworkService.list(page); // 列出Homework列表
be2f84a1   孙向锦   添加课后作业基础模块数据
124
125
126
  		mv.setViewName("sunvote/homework/homework_list");
  		mv.addObject("varList", varList);
  		mv.addObject("pd", pd);
a479f295   孙向锦   添加了报表逻辑
127
  		mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限
be2f84a1   孙向锦   添加课后作业基础模块数据
128
129
  		return mv;
  	}
a479f295   孙向锦   添加了报表逻辑
130
131
132
133
  
  	/**
  	 * 去新增页面
  	 * 
be2f84a1   孙向锦   添加课后作业基础模块数据
134
135
136
  	 * @param
  	 * @throws Exception
  	 */
a479f295   孙向锦   添加了报表逻辑
137
138
  	@RequestMapping(value = "/goAdd")
  	public ModelAndView goAdd() throws Exception {
be2f84a1   孙向锦   添加课后作业基础模块数据
139
140
141
142
143
144
145
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
  		mv.setViewName("sunvote/homework/homework_edit");
  		mv.addObject("msg", "save");
  		mv.addObject("pd", pd);
  		return mv;
a479f295   孙向锦   添加了报表逻辑
146
147
148
149
150
  	}
  
  	/**
  	 * 去修改页面
  	 * 
be2f84a1   孙向锦   添加课后作业基础模块数据
151
152
153
  	 * @param
  	 * @throws Exception
  	 */
a479f295   孙向锦   添加了报表逻辑
154
155
  	@RequestMapping(value = "/goEdit")
  	public ModelAndView goEdit() throws Exception {
be2f84a1   孙向锦   添加课后作业基础模块数据
156
157
158
  		ModelAndView mv = this.getModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
a479f295   孙向锦   添加了报表逻辑
159
  		pd = homeworkService.findById(pd); // 根据ID读取
be2f84a1   孙向锦   添加课后作业基础模块数据
160
161
162
163
  		mv.setViewName("sunvote/homework/homework_edit");
  		mv.addObject("msg", "edit");
  		mv.addObject("pd", pd);
  		return mv;
a479f295   孙向锦   添加了报表逻辑
164
165
166
167
168
  	}
  
  	/**
  	 * 批量删除
  	 * 
be2f84a1   孙向锦   添加课后作业基础模块数据
169
170
171
  	 * @param
  	 * @throws Exception
  	 */
a479f295   孙向锦   添加了报表逻辑
172
  	@RequestMapping(value = "/deleteAll")
be2f84a1   孙向锦   添加课后作业基础模块数据
173
  	@ResponseBody
a479f295   孙向锦   添加了报表逻辑
174
175
176
177
178
179
180
  	public Object deleteAll() throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "批量删除Homework");
  		if (!Jurisdiction.buttonJurisdiction(menuUrl, "del")) {
  			return null;
  		} // 校验权限
  		PageData pd = new PageData();
  		Map<String, Object> map = new HashMap<String, Object>();
be2f84a1   孙向锦   添加课后作业基础模块数据
181
182
183
  		pd = this.getPageData();
  		List<PageData> pdList = new ArrayList<PageData>();
  		String DATA_IDS = pd.getString("DATA_IDS");
a479f295   孙向锦   添加了报表逻辑
184
  		if (null != DATA_IDS && !"".equals(DATA_IDS)) {
be2f84a1   孙向锦   添加课后作业基础模块数据
185
186
187
  			String ArrayDATA_IDS[] = DATA_IDS.split(",");
  			homeworkService.deleteAll(ArrayDATA_IDS);
  			pd.put("msg", "ok");
a479f295   孙向锦   添加了报表逻辑
188
  		} else {
be2f84a1   孙向锦   添加课后作业基础模块数据
189
190
191
192
193
194
  			pd.put("msg", "no");
  		}
  		pdList.add(pd);
  		map.put("list", pdList);
  		return AppUtil.returnObject(pd, map);
  	}
a479f295   孙向锦   添加了报表逻辑
195
196
197
198
  
  	/**
  	 * 导出到excel
  	 * 
be2f84a1   孙向锦   添加课后作业基础模块数据
199
200
201
  	 * @param
  	 * @throws Exception
  	 */
a479f295   孙向锦   添加了报表逻辑
202
203
204
205
206
207
  	@RequestMapping(value = "/excel")
  	public ModelAndView exportExcel() throws Exception {
  		logBefore(logger, Jurisdiction.getUsername() + "导出Homework到excel");
  		if (!Jurisdiction.buttonJurisdiction(menuUrl, "cha")) {
  			return null;
  		}
be2f84a1   孙向锦   添加课后作业基础模块数据
208
209
210
  		ModelAndView mv = new ModelAndView();
  		PageData pd = new PageData();
  		pd = this.getPageData();
a479f295   孙向锦   添加了报表逻辑
211
  		Map<String, Object> dataMap = new HashMap<String, Object>();
be2f84a1   孙向锦   添加课后作业基础模块数据
212
  		List<String> titles = new ArrayList<String>();
a479f295   孙向锦   添加了报表逻辑
213
214
215
216
217
218
219
220
221
222
223
  		titles.add("作业代码"); // 1
  		titles.add("作业名称"); // 2
  		titles.add("科目ID"); // 3
  		titles.add("班级ID"); // 4
  		titles.add("年级ID"); // 5
  		titles.add("学校ID"); // 6
  		titles.add("需要完成时间"); // 7
  		titles.add("创建时间"); // 8
  		titles.add("修改时间"); // 9
  		titles.add("完成次数"); // 10
  		titles.add("总分"); // 11
be2f84a1   孙向锦   添加课后作业基础模块数据
224
225
226
  		dataMap.put("titles", titles);
  		List<PageData> varOList = homeworkService.listAll(pd);
  		List<PageData> varList = new ArrayList<PageData>();
a479f295   孙向锦   添加了报表逻辑
227
  		for (int i = 0; i < varOList.size(); i++) {
be2f84a1   孙向锦   添加课后作业基础模块数据
228
  			PageData vpd = new PageData();
a479f295   孙向锦   添加了报表逻辑
229
230
231
232
233
234
235
236
237
238
239
  			vpd.put("var1", varOList.get(i).getString("CODE")); // 1
  			vpd.put("var2", varOList.get(i).getString("NAME")); // 2
  			vpd.put("var3", varOList.get(i).getString("SUBJECT_ID")); // 3
  			vpd.put("var4", varOList.get(i).getString("CLASS_ID")); // 4
  			vpd.put("var5", varOList.get(i).getString("GRADE_ID")); // 5
  			vpd.put("var6", varOList.get(i).getString("SCHOOL_ID")); // 6
  			vpd.put("var7", varOList.get(i).getString("COMPLETE_DATE")); // 7
  			vpd.put("var8", varOList.get(i).getString("CREATE_DATE")); // 8
  			vpd.put("var9", varOList.get(i).getString("MODIFY_DATE")); // 9
  			vpd.put("var10", varOList.get(i).get("COMPLETE_COUNT").toString()); // 10
  			vpd.put("var11", varOList.get(i).get("ALL_SCORE").toString()); // 11
be2f84a1   孙向锦   添加课后作业基础模块数据
240
241
242
243
  			varList.add(vpd);
  		}
  		dataMap.put("varList", varList);
  		ObjectExcelView erv = new ObjectExcelView();
a479f295   孙向锦   添加了报表逻辑
244
  		mv = new ModelAndView(erv, dataMap);
be2f84a1   孙向锦   添加课后作业基础模块数据
245
246
  		return mv;
  	}
a479f295   孙向锦   添加了报表逻辑
247
  
be2f84a1   孙向锦   添加课后作业基础模块数据
248
  	@InitBinder
a479f295   孙向锦   添加了报表逻辑
249
  	public void initBinder(WebDataBinder binder) {
be2f84a1   孙向锦   添加课后作业基础模块数据
250
  		DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
a479f295   孙向锦   添加了报表逻辑
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
  		binder.registerCustomEditor(Date.class, new CustomDateEditor(format,
  				true));
  	}
  
  	/**
  	 * 批量删除
  	 * 
  	 * @param
  	 * @throws Exception
  	 */
  	@RequestMapping(value = "/homereport", produces = "application/json;charset=UTF-8")
  	@ResponseBody
  	public String getHomeReport() throws Exception {
  		PageData pd = this.getPageData();
  		pd = homeworkService.findById(pd);
  		List<PageData> data = homeworkReporService.findByHomeworkID(pd);
  		pd.put("STUDENTS", data);
  		Gson gson = new Gson();
  		return gson.toJson(pd);
be2f84a1   孙向锦   添加课后作业基础模块数据
270
271
  	}
  }