Commit 782f81b0ffeaa2f6bfdf217b85e00975a055c9c8

Authored by jack
1 parent 956a996a

1.增加未知学生的判断

2.修改excel导出逻辑
src/com/fh/controller/sunvote/paper/PaperController.java
... ... @@ -51,98 +51,105 @@ import com.fh.util.ObjectExcelView;
51 51 import com.fh.util.ObjectExcelView2;
52 52 import com.fh.util.PageData;
53 53  
54   -/**
55   - * 说明:试卷
56   - * 创建时间:2018-05-17
  54 +/**
  55 + * 说明:试卷 创建时间:2018-05-17
57 56 */
58 57 @Controller
59   -@RequestMapping(value="/paper")
  58 +@RequestMapping(value = "/paper")
60 59 public class PaperController extends BaseController {
61   -
62   - String menuUrl = "paper/list.do"; //菜单地址(权限用)
63   - @Resource(name="paperService")
  60 +
  61 + String menuUrl = "paper/list.do"; // 菜单地址(权限用)
  62 + @Resource(name = "paperService")
64 63 private PaperManager paperService;
65   -
66   - @Resource(name="testpaperService")
  64 +
  65 + @Resource(name = "testpaperService")
67 66 private TestPaperManager testpaperService;
68   -
69   - @Resource(name="testpaperinfoService")
  67 +
  68 + @Resource(name = "testpaperinfoService")
70 69 private TestPaperInfoManager testpaperinfoService;
71   -
72   - @Resource(name="studentService")
  70 +
  71 + @Resource(name = "studentService")
73 72 private StudentManager stundentService;
74   -
75   - @Resource(name="paperquestionService")
  73 +
  74 + @Resource(name = "paperquestionService")
76 75 private PaperQuestionManager paperquestionService;
77   -
78   - @Resource(name="questionService")
  76 +
  77 + @Resource(name = "questionService")
79 78 private QuestionManager questionService;
80   -
  79 +
81 80 @Resource(name = "v1Service")
82   - private V1Manager v1Service ;
83   -
84   - @Resource(name="schoolgradesubjectService")
  81 + private V1Manager v1Service;
  82 +
  83 + @Resource(name = "schoolgradesubjectService")
85 84 private SchoolGradeSubjectManager schoolgradesubjectService;
86   -
87   - @Resource(name="pagetemplateService")
  85 +
  86 + @Resource(name = "pagetemplateService")
88 87 private PageTemplateManager pagetemplateService;
89   -
90   - @Resource(name="studenttestService")
  88 +
  89 + @Resource(name = "studenttestService")
91 90 private StudentTestManager studenttestService;
92   -
93   - @Resource(name="sclassService")
  91 +
  92 + @Resource(name = "sclassService")
94 93 private SClassManager sclassService;
95   -
96   - /**保存
  94 +
  95 + /**
  96 + * 保存
  97 + *
97 98 * @param
98 99 * @throws Exception
99 100 */
100   - @RequestMapping(value="/save")
101   - public ModelAndView save() throws Exception{
102   - logBefore(logger, Jurisdiction.getUsername()+"新增Paper");
103   - if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限
  101 + @RequestMapping(value = "/save")
  102 + public ModelAndView save() throws Exception {
  103 + logBefore(logger, Jurisdiction.getUsername() + "新增Paper");
  104 + if (!Jurisdiction.buttonJurisdiction(menuUrl, "add")) {
  105 + return null;
  106 + } // 校验权限
104 107 ModelAndView mv = this.getModelAndView();
105 108 PageData pd = new PageData();
106 109 pd = this.getPageData();
107   - pd.put("PAPER_ID", this.get32UUID()); //主键
  110 + pd.put("PAPER_ID", this.get32UUID()); // 主键
108 111 paperService.save(pd);
109   - mv.addObject("msg","success");
  112 + mv.addObject("msg", "success");
110 113 mv.setViewName("save_result");
111 114 return mv;
112 115 }
113   -
114   - /**保存
  116 +
  117 + /**
  118 + * 保存
  119 + *
115 120 * @param
116 121 * @throws Exception
117 122 */
118   - @RequestMapping(value="/newpaper")
119   - public ModelAndView newPaper() throws Exception{
120   - logBefore(logger, Jurisdiction.getUsername()+"新增Paper");
  123 + @RequestMapping(value = "/newpaper")
  124 + public ModelAndView newPaper() throws Exception {
  125 + logBefore(logger, Jurisdiction.getUsername() + "新增Paper");
121 126 ModelAndView mv = this.getModelAndView();
122   -
123   - mv.addObject("msg","success");
  127 +
  128 + mv.addObject("msg", "success");
124 129 mv.setViewName("save_result");
125 130 return mv;
126 131 }
127   -
128   - /**删除
  132 +
  133 + /**
  134 + * 删除
  135 + *
129 136 * @param out
130 137 * @throws Exception
131 138 */
132   - @RequestMapping(value="/delete")
133   - public void delete(PrintWriter out) throws Exception{
134   - logBefore(logger, Jurisdiction.getUsername()+"删除Paper");
  139 + @RequestMapping(value = "/delete")
  140 + public void delete(PrintWriter out) throws Exception {
  141 + logBefore(logger, Jurisdiction.getUsername() + "删除Paper");
135 142 PageData pd = new PageData();
136 143 pd = this.getPageData();
137   - String[] ArrayDATA_IDS = new String[]{pd.getString("PAPER_ID")};
138   - if(pd.getString("QINGSONGKAO") != null){
  144 + String[] ArrayDATA_IDS = new String[] { pd.getString("PAPER_ID") };
  145 + if (pd.getString("QINGSONGKAO") != null) {
139 146 List<PageData> list = paperquestionService.listAll(pd);
140 147 String[] qids = new String[list.size()];
141   - int i = 0 ;
142   - for(PageData ptd : list){
  148 + int i = 0;
  149 + for (PageData ptd : list) {
143 150 qids[i++] = ptd.getString("QUESTION_ID");
144 151 }
145   - if(qids.length > 0){
  152 + if (qids.length > 0) {
146 153 questionService.deleteAll(qids);
147 154 }
148 155 }
... ... @@ -151,77 +158,93 @@ public class PaperController extends BaseController {
151 158 out.write("success");
152 159 out.close();
153 160 }
154   -
155   - /**修改
  161 +
  162 + /**
  163 + * 修改
  164 + *
156 165 * @param
157 166 * @throws Exception
158 167 */
159   - @RequestMapping(value="/edit")
160   - public ModelAndView edit() throws Exception{
161   - logBefore(logger, Jurisdiction.getUsername()+"修改Paper");
162   - if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限
  168 + @RequestMapping(value = "/edit")
  169 + public ModelAndView edit() throws Exception {
  170 + logBefore(logger, Jurisdiction.getUsername() + "修改Paper");
  171 + if (!Jurisdiction.buttonJurisdiction(menuUrl, "edit")) {
  172 + return null;
  173 + } // 校验权限
163 174 ModelAndView mv = this.getModelAndView();
164 175 PageData pd = new PageData();
165 176 pd = this.getPageData();
166 177 paperService.edit(pd);
167   - mv.addObject("msg","success");
  178 + mv.addObject("msg", "success");
168 179 mv.setViewName("save_result");
169 180 return mv;
170 181 }
171   -
172   - /**列表
  182 +
  183 + /**
  184 + * 列表
  185 + *
173 186 * @param page
174 187 * @throws Exception
175 188 */
176   - @RequestMapping(value="/list")
177   - public ModelAndView list(Page page) throws Exception{
178   - logBefore(logger, Jurisdiction.getUsername()+"列表Paper");
179   - //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
  189 + @RequestMapping(value = "/list")
  190 + public ModelAndView list(Page page) throws Exception {
  191 + logBefore(logger, Jurisdiction.getUsername() + "列表Paper");
  192 + // if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
  193 + // //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
180 194 ModelAndView mv = this.getModelAndView();
181 195 PageData pd = new PageData();
182 196 pd = this.getPageData();
183   - String keywords = pd.getString("keywords"); //关键词检索条件
184   - if(null != keywords && !"".equals(keywords)){
  197 + String keywords = pd.getString("keywords"); // 关键词检索条件
  198 + if (null != keywords && !"".equals(keywords)) {
185 199 pd.put("keywords", keywords.trim());
186 200 }
187 201 page.setPd(pd);
188   - List<PageData> varList = paperService.list(page); //列出Paper列表
  202 + List<PageData> varList = paperService.list(page); // 列出Paper列表
189 203 mv.setViewName("sunvote/paper/paper_list");
190 204 mv.addObject("varList", varList);
191 205 mv.addObject("pd", pd);
192   - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
  206 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限
193 207 return mv;
194 208 }
195   -
196   - @RequestMapping(value="/paperRep")
197   - public ModelAndView paperRep() throws Exception{
  209 +
  210 + @RequestMapping(value = "/paperRep")
  211 + public ModelAndView paperRep() throws Exception {
198 212 ModelAndView mv = this.getModelAndView();
199 213 PageData pd = new PageData();
200 214 List<PageData> templist = new ArrayList<PageData>();
201 215 PageData saveData = new PageData();
202   - DecimalFormat decimalFormat=new DecimalFormat("0.00");
  216 + DecimalFormat decimalFormat = new DecimalFormat("0.00");
203 217 String total_score = "";
204 218 ResponseGson<PageData> res = new ResponseGson();
205 219 pd = this.getPageData();
206   - if(pd.containsKey("PAPER_ID")){
  220 + if (pd.containsKey("PAPER_ID")) {
207 221 List<PageData> list = testpaperService.listAll(pd);
208 222 total_score = list.get(0).getString("TOTAL_SCORE");
209 223 pd.put("testpaperlist", list);
210   - Integer you_sum = 0; //优秀总人数
211   - Integer liang_sum = 0; //良好总人数
212   - Integer jige_sum = 0; //及格总人数
213   - Integer difen_sum = 0; //低分总人数
214   - Integer num_sum =0; //年级总人数
215   - Float avg_sum = (float)0; //平均分的和
  224 + Integer you_sum = 0; // 优秀总人数
  225 + Integer liang_sum = 0; // 良好总人数
  226 + Integer jige_sum = 0; // 及格总人数
  227 + Integer difen_sum = 0; // 低分总人数
  228 + Integer num_sum = 0; // 年级总人数
  229 + Float avg_sum = (float) 0; // 平均分的和
216 230 String testpaperList = "";
217   -
218   - for(int i = 0 ;i<list.size();i++){
  231 +
  232 + for (int i = 0; i < list.size(); i++) {
219 233 PageData data = new PageData();
220   -
  234 +
221 235 PageData pdtemp = new PageData();
222   - pdtemp.put("CLASS_ID", list.get(i).get("SCLASS_ID").toString());
223   - List<PageData> studentlist = stundentService.listAllClass(pdtemp);
224   - testpaperList+=list.get(i).get("TESTPAPER_ID").toString()+",";
  236 + if (!list.get(i).getString("SCLASS_ID").isEmpty()) {
  237 + pdtemp.put("CLASS_ID", list.get(i).get("SCLASS_ID")
  238 + .toString());
  239 + } else {
  240 + pdtemp.put("CLASS_ID", "");
  241 +
  242 + }
  243 +
  244 + List<PageData> studentlist = stundentService
  245 + .listAllClass(pdtemp);
  246 + testpaperList += list.get(i).get("TESTPAPER_ID").toString()
  247 + + ",";
225 248 data.put("testpaper_id", list.get(i).get("TESTPAPER_ID"));
226 249 data.put("student_num", studentlist.size());
227 250 data.put("creat_time", list.get(i).get("CREATE_DATE"));
... ... @@ -229,89 +252,91 @@ public class PaperController extends BaseController {
229 252 data.put("class_id", list.get(i).get("SCLASS_ID"));
230 253 pdtemp.put("TEST_ID", list.get(i).get("TESTPAPER_ID"));
231 254 List<PageData> l = studenttestService.listAll(pdtemp);
232   -
  255 +
233 256 Integer you = 0;
234 257 Integer liang = 0;
235 258 Integer jige = 0;
236 259 Integer difen = 0;
237   - Float total = Float.valueOf(list.get(i).get("TOTAL_SCORE").toString());
238   -
239   - for(int j = 0; j<l.size();j++){
240   - Float score = Float.valueOf(l.get(j).get("SCORE").toString());
241   - if(total != 0){
242   - if(score/total>=0.8){
  260 + Float total = Float.valueOf(list.get(i).get("TOTAL_SCORE")
  261 + .toString());
  262 +
  263 + for (int j = 0; j < l.size(); j++) {
  264 + Float score = Float.valueOf(l.get(j).get("SCORE")
  265 + .toString());
  266 + if (total != 0) {
  267 + if (score / total >= 0.8) {
243 268 you++;
244   - }else if(score/total>=0.7){
  269 + } else if (score / total >= 0.7) {
245 270 liang++;
246   - }else if(score/total>=0.6){
  271 + } else if (score / total >= 0.6) {
247 272 jige++;
248   - }else if(score/total<0.3){
  273 + } else if (score / total < 0.3) {
249 274 difen++;
250 275 }
251 276 }
252   -
  277 +
253 278 }
254   - you_sum+=you;
  279 + you_sum += you;
255 280 liang_sum += liang;
256   - jige_sum+=jige;
257   - difen_sum+=difen;
258   - num_sum+=studentlist.size();
259   - avg_sum+=Float.valueOf(list.get(i).get("AVG_SCORE").toString());
260   -
261   - data.put("you",you);
262   - data.put("liang",liang);
263   - data.put("jige",jige);
264   - data.put("difen",difen);
265   -
  281 + jige_sum += jige;
  282 + difen_sum += difen;
  283 + num_sum += studentlist.size();
  284 + avg_sum += Float.valueOf(list.get(i).get("AVG_SCORE")
  285 + .toString());
  286 +
  287 + data.put("you", you);
  288 + data.put("liang", liang);
  289 + data.put("jige", jige);
  290 + data.put("difen", difen);
  291 +
266 292 templist.add(data);
267 293 }
268   - if(list.size()>0){
269   - PageData dataTemp = new PageData();
270   - dataTemp.put("testpaper_id", "");
271   - dataTemp.put("student_num", num_sum);
272   - dataTemp.put("creat_time", "");
273   - dataTemp.put("avg_score", decimalFormat.format(avg_sum/list.size()));
274   - dataTemp.put("class_id", "");
275   - dataTemp.put("you",you_sum);
276   - dataTemp.put("liang",liang_sum);
277   - dataTemp.put("jige",jige_sum);
278   - dataTemp.put("difen",difen_sum);
279   - dataTemp.put("testpaperList", testpaperList);
280   - templist.add(dataTemp);
  294 + if (list.size() > 0) {
  295 + PageData dataTemp = new PageData();
  296 + dataTemp.put("testpaper_id", "");
  297 + dataTemp.put("student_num", num_sum);
  298 + dataTemp.put("creat_time", "");
  299 + dataTemp.put("avg_score",
  300 + decimalFormat.format(avg_sum / list.size()));
  301 + dataTemp.put("class_id", "");
  302 + dataTemp.put("you", you_sum);
  303 + dataTemp.put("liang", liang_sum);
  304 + dataTemp.put("jige", jige_sum);
  305 + dataTemp.put("difen", difen_sum);
  306 + dataTemp.put("testpaperList", testpaperList);
  307 + templist.add(dataTemp);
281 308 }
282 309 }
283   -
284   -
285   -
  310 +
286 311 saveData.put("list", templist);
287 312 pd.put("TOTAL_SCORE", total_score);
288 313 mv.setViewName("sunvote/paper/test_list1");
289 314 mv.addObject("varList", templist);
290   - mv.addObject("pd",pd);
  315 + mv.addObject("pd", pd);
291 316 res.setData(saveData);
292 317 return mv;
293 318 }
294   -
295   - @RequestMapping(value="/export1")
296   - public ModelAndView export1() throws Exception{
  319 +
  320 + @RequestMapping(value = "/export1")
  321 + public ModelAndView export1() throws Exception {
297 322 ModelAndView mv = this.getModelAndView();
298 323 PageData pd = new PageData();
299 324 List<PageData> templist = new ArrayList<PageData>();
300 325 PageData saveData = new PageData();
301   -
302   -
  326 +
303 327 ResponseGson<PageData> res = new ResponseGson();
304 328 pd = this.getPageData();
305   - if(pd.containsKey("PAPER_ID")){
  329 + if (pd.containsKey("PAPER_ID")) {
306 330 List<PageData> list = testpaperService.listAll(pd);
307   -
  331 +
308 332 pd.put("testpaperlist", list);
309   - for(int i = 0 ;i<list.size();i++){
  333 + for (int i = 0; i < list.size(); i++) {
310 334 PageData data = new PageData();
311   -
  335 +
312 336 PageData pdtemp = new PageData();
313 337 pdtemp.put("CLASS_ID", list.get(i).get("SCLASS_ID").toString());
314   - List<PageData> studentlist = stundentService.listAllClass(pdtemp);
  338 + List<PageData> studentlist = stundentService
  339 + .listAllClass(pdtemp);
315 340 data.put("testpaper_id", list.get(i).get("TESTPAPER_ID"));
316 341 data.put("student_num", studentlist.size());
317 342 data.put("creat_time", list.get(i).get("CREATE_DATE"));
... ... @@ -319,957 +344,1088 @@ public class PaperController extends BaseController {
319 344 data.put("class_id", list.get(i).get("SCLASS_ID"));
320 345 pdtemp.put("TEST_ID", list.get(i).get("TESTPAPER_ID"));
321 346 List<PageData> l = studenttestService.listAll(pdtemp);
322   -
  347 +
323 348 Integer you = 0;
324 349 Integer liang = 0;
325 350 Integer jige = 0;
326 351 Integer difen = 0;
327   - Float total = Float.valueOf(list.get(i).get("TOTAL_SCORE").toString());
328   -
329   - for(int j = 0; j<l.size();j++){
330   - Float score = Float.valueOf(l.get(j).get("SCORE").toString());
331   - if(total != 0){
332   - if(score/total>=0.8){
  352 + Float total = Float.valueOf(list.get(i).get("TOTAL_SCORE")
  353 + .toString());
  354 +
  355 + for (int j = 0; j < l.size(); j++) {
  356 + Float score = Float.valueOf(l.get(j).get("SCORE")
  357 + .toString());
  358 + if (total != 0) {
  359 + if (score / total >= 0.8) {
333 360 you++;
334   - }else if(score/total>=0.7){
  361 + } else if (score / total >= 0.7) {
335 362 liang++;
336   - }else if(score/total>=0.6){
  363 + } else if (score / total >= 0.6) {
337 364 jige++;
338   - }else if(score/total<0.3){
  365 + } else if (score / total < 0.3) {
339 366 difen++;
340 367 }
341 368 }
342   -
  369 +
343 370 }
344   -
345   - data.put("you",you);
346   - data.put("liang",liang);
347   - data.put("jige",jige);
348   - data.put("difen",difen);
349   -
  371 +
  372 + data.put("you", you);
  373 + data.put("liang", liang);
  374 + data.put("jige", jige);
  375 + data.put("difen", difen);
  376 +
350 377 templist.add(data);
351 378 }
352 379 }
353 380  
354   - Map<String,Object> dataMap = new HashMap<String,Object>();
  381 + Map<String, Object> dataMap = new HashMap<String, Object>();
355 382 List<String> titles = new ArrayList<String>();
356   - titles.add("序号"); //1
357   - titles.add("班级名称"); //2
358   - titles.add("考试时间"); //3
359   - titles.add("平均分"); //4
360   - titles.add("班级总人数"); //5
361   - titles.add("优秀人数"); //6
362   - titles.add("优秀率"); //7
363   - titles.add("良好人数"); //8
364   - titles.add("良好率"); //9
365   - titles.add("及格人数"); //10
366   - titles.add("及格率"); //11
367   - titles.add("低分人数"); //12
368   - titles.add("低分率"); //13
  383 + titles.add("序号"); // 1
  384 + titles.add("班级名称"); // 2
  385 + titles.add("考试时间"); // 3
  386 + titles.add("平均分"); // 4
  387 + titles.add("班级总人数"); // 5
  388 + titles.add("优秀人数"); // 6
  389 + titles.add("优秀率"); // 7
  390 + titles.add("良好人数"); // 8
  391 + titles.add("良好率"); // 9
  392 + titles.add("及格人数"); // 10
  393 + titles.add("及格率"); // 11
  394 + titles.add("低分人数"); // 12
  395 + titles.add("低分率"); // 13
369 396 dataMap.put("titles", titles);
370 397 List<PageData> varOList = templist;
371 398 List<PageData> varList = new ArrayList<PageData>();
372   - DecimalFormat decimalFormat=new DecimalFormat("0.00");
373   - for(int i=0;i<varOList.size();i++){
  399 + DecimalFormat decimalFormat = new DecimalFormat("0.00");
  400 + for (int i = 0; i < varOList.size(); i++) {
374 401 PageData vpd = new PageData();
375 402 vpd.put("ID", varOList.get(i).getString("class_id"));
376 403 PageData c = sclassService.findById(vpd);
377 404 vpd.remove("ID");
378   -
  405 +
379 406 Integer you = Integer.valueOf(varOList.get(i).getString("you"));
380 407 Integer liang = Integer.valueOf(varOList.get(i).getString("liang"));
381 408 Integer jige = Integer.valueOf(varOList.get(i).getString("jige"));
382 409 Integer difen = Integer.valueOf(varOList.get(i).getString("difen"));
383   - Integer student_num = Integer.valueOf(varOList.get(i).getString("student_num"));
384   -
385   -
386   - vpd.put("var1", i+1); //1
387   - vpd.put("var2", c.getString("CLASS_NAME")); //2
388   - vpd.put("var3", varOList.get(i).getString("creat_time")); //3
389   - vpd.put("var4", varOList.get(i).getString("avg_score")); //4
390   - vpd.put("var5", student_num); //5
391   - vpd.put("var6", you); //6
392   - vpd.put("var7", student_num==0?0:decimalFormat.format(you*100.0/student_num)+"%"); //7
393   - vpd.put("var8", liang); //8
394   - vpd.put("var9", student_num==0?0:decimalFormat.format(liang*100.0/student_num)+"%"); //9
395   - vpd.put("var10", jige); //10
396   - vpd.put("var11", student_num==0?0:decimalFormat.format(jige*100.0/student_num)+"%"); //11
397   - vpd.put("var12", difen); //12
398   - vpd.put("var13", student_num==0?0:decimalFormat.format(difen*100.0/student_num)+"%"); //13
  410 + Integer student_num = Integer.valueOf(varOList.get(i).getString(
  411 + "student_num"));
  412 +
  413 + vpd.put("var1", i + 1); // 1
  414 + vpd.put("var2", c.getString("CLASS_NAME")); // 2
  415 + vpd.put("var3", varOList.get(i).getString("creat_time")); // 3
  416 + vpd.put("var4", varOList.get(i).getString("avg_score")); // 4
  417 + vpd.put("var5", student_num); // 5
  418 + vpd.put("var6", you); // 6
  419 + vpd.put("var7",
  420 + student_num == 0 ? 0 : decimalFormat.format(you * 100.0
  421 + / student_num)
  422 + + "%"); // 7
  423 + vpd.put("var8", liang); // 8
  424 + vpd.put("var9",
  425 + student_num == 0 ? 0 : decimalFormat.format(liang * 100.0
  426 + / student_num)
  427 + + "%"); // 9
  428 + vpd.put("var10", jige); // 10
  429 + vpd.put("var11",
  430 + student_num == 0 ? 0 : decimalFormat.format(jige * 100.0
  431 + / student_num)
  432 + + "%"); // 11
  433 + vpd.put("var12", difen); // 12
  434 + vpd.put("var13",
  435 + student_num == 0 ? 0 : decimalFormat.format(difen * 100.0
  436 + / student_num)
  437 + + "%"); // 13
399 438 varList.add(vpd);
400 439 }
401 440 dataMap.put("varList", varList);
402 441 ObjectExcelView erv = new ObjectExcelView();
403   - mv = new ModelAndView(erv,dataMap);
  442 + mv = new ModelAndView(erv, dataMap);
404 443 return mv;
405 444 }
406   - @RequestMapping(value="/paperRep2")
407   - public ModelAndView paperRep2() throws Exception{
  445 +
  446 + @RequestMapping(value = "/paperRep2")
  447 + public ModelAndView paperRep2() throws Exception {
408 448 ModelAndView mv = this.getModelAndView();
409 449 PageData pd = new PageData();
410 450 List<PageData> templist = new ArrayList<PageData>();
411 451 PageData saveData = new PageData();
412   -
  452 +
413 453 ResponseGson<PageData> res = new ResponseGson();
414 454 pd = this.getPageData();
415   - if(pd.containsKey("PAPER_ID")){
  455 + if (pd.containsKey("PAPER_ID")) {
416 456 List<PageData> list = paperquestionService.listAll(pd);
417 457 List<PageData> test = new ArrayList<PageData>();
418 458 int onum[] = new int[list.size()];
419   -
420   - for(int i = 0;i<list.size();i++){
  459 +
  460 + for (int i = 0; i < list.size(); i++) {
421 461 PageData temp = new PageData();
422 462 String questionid = list.get(i).get("QUESTION_ID").toString();
423   -
424   - if(list.get(i).get("NO_NAME")==null||list.get(i).get("NO_NAME").toString().isEmpty()){
  463 +
  464 + if (list.get(i).get("NO_NAME") == null
  465 + || list.get(i).get("NO_NAME").toString().isEmpty()) {
425 466 continue;
426 467 }
427   - Float que_score = Float.valueOf(list.get(i).get("SCORE").toString());
  468 + Float que_score = Float.valueOf(list.get(i).get("SCORE")
  469 + .toString());
428 470 temp.put("QUESTION_ID", questionid);
429 471 PageData question = questionService.findById(temp);
430   - temp.put("ANSWER",question.get("ANSWER").toString());
  472 + temp.put("ANSWER", question.get("ANSWER").toString());
431 473 temp.put("QUESTION_RANK", list.get(i).get("RANK").toString());
432 474 temp.put("QUESTION_SCORE", que_score);
433   -
  475 +
434 476 PageData que = questionService.findById(temp);
435 477 Integer option_num = 0;
436   - if(!que.get("OPTION_NUM").toString().isEmpty()){
437   - option_num = Integer.valueOf(que.get("OPTION_NUM").toString());
438   - onum[i]=option_num;
  478 + if (!que.get("OPTION_NUM").toString().isEmpty()) {
  479 + option_num = Integer.valueOf(que.get("OPTION_NUM")
  480 + .toString());
  481 + onum[i] = option_num;
439 482 }
440 483 String tpList = pd.get("TESTPAPER_ID").toString();
441 484 String tpListArray[] = tpList.split(",");
442   -
  485 +
443 486 temp.put("TEST_ID", tpListArray);
444   -
445   - List<PageData> queInfo = testpaperinfoService.listTestPaperQuestionIDinfo(temp);
446   - int answer[] = new int[option_num+1];
  487 +
  488 + List<PageData> queInfo = testpaperinfoService
  489 + .listTestPaperQuestionIDinfo(temp);
  490 + int answer[] = new int[option_num + 1];
447 491 int right = 0;
448 492 int lost = 0;
449   - for(int j=0;j<queInfo.size();j++){
450   - if(queInfo.get(j).get("ANSWER").toString().isEmpty()){
  493 + for (int j = 0; j < queInfo.size(); j++) {
  494 + if (queInfo.get(j).get("ANSWER").toString().isEmpty()) {
451 495 lost++;
452 496 }
453   - if(queInfo.get(j).get("RIGHT")!=null&&!queInfo.get(j).get("RIGHT").toString().isEmpty()){
454   - if(queInfo.get(j).get("RIGHT").toString().equals("1")){
  497 + if (queInfo.get(j).get("RIGHT") != null
  498 + && !queInfo.get(j).get("RIGHT").toString()
  499 + .isEmpty()) {
  500 + if (queInfo.get(j).get("RIGHT").toString().equals("1")) {
455 501 right++;
456 502 }
457 503 }
458   - if(queInfo.get(j).get("ANSWER")!=null&&!queInfo.get(j).get("ANSWER").toString().isEmpty()){
459   - for(int o=0;o<option_num;o++ ){
460   - String s = String.valueOf((char)(65+o)) ;
461   - if(queInfo.get(j).get("ANSWER").toString().indexOf(s)>-1){
  504 + if (queInfo.get(j).get("ANSWER") != null
  505 + && !queInfo.get(j).get("ANSWER").toString()
  506 + .isEmpty()) {
  507 + for (int o = 0; o < option_num; o++) {
  508 + String s = String.valueOf((char) (65 + o));
  509 + if (queInfo.get(j).get("ANSWER").toString()
  510 + .indexOf(s) > -1) {
462 511 answer[o]++;
463 512 }
464   - }
465   - }
466   - else{
  513 + }
  514 + } else {
467 515 answer[option_num]++;
468 516 }
469 517 }
470 518 temp.put("RIGHTNUM", right);
471   - temp.put("ANSWERNUM",(queInfo.size()-lost));
472   - temp.put("ANSWERNUM2",queInfo.size());
  519 + temp.put("ANSWERNUM", (queInfo.size() - lost));
  520 + temp.put("ANSWERNUM2", queInfo.size());
473 521 temp.put("optin_info", answer);
474 522 templist.add(temp);
475 523 }
476 524 Arrays.sort(onum);
477   - int max = onum[onum.length-1];
478   - pd.put("MAX",max);
479   - }
480   -
481   - Collections.sort(templist,new Comparator<PageData>(){
  525 + int max = onum[onum.length - 1];
  526 + pd.put("MAX", max);
  527 + }
  528 +
  529 + Collections.sort(templist, new Comparator<PageData>() {
482 530  
483 531 @Override
484 532 public int compare(PageData o1, PageData o2) {
485   - Integer o1GetScore = Integer.valueOf(o1.getString("QUESTION_RANK"));
486   - Integer o2GetScore = Integer.valueOf(o2.getString("QUESTION_RANK"));
  533 + Integer o1GetScore = Integer.valueOf(o1
  534 + .getString("QUESTION_RANK"));
  535 + Integer o2GetScore = Integer.valueOf(o2
  536 + .getString("QUESTION_RANK"));
487 537 return o1GetScore.compareTo(o2GetScore);
488 538 }
489   -
  539 +
490 540 });
491 541 mv.setViewName("sunvote/paper/test_list2");
492 542 mv.addObject("varList", templist);
493   - mv.addObject("pd",pd);
  543 + mv.addObject("pd", pd);
494 544 res.setData(saveData);
495 545 return mv;
496 546 }
497   -
498   - @RequestMapping(value="/export2")
499   - public ModelAndView export2() throws Exception{
  547 +
  548 + @RequestMapping(value = "/export2")
  549 + public ModelAndView export2() throws Exception {
500 550 ModelAndView mv = this.getModelAndView();
501 551 PageData pd = new PageData();
502 552 List<PageData> templist = new ArrayList<PageData>();
503 553 PageData saveData = new PageData();
504   -
  554 +
505 555 ResponseGson<PageData> res = new ResponseGson();
506 556 pd = this.getPageData();
507   - if(pd.containsKey("PAPER_ID")){
  557 + if (pd.containsKey("PAPER_ID")) {
508 558 List<PageData> list = paperquestionService.listAll(pd);
509 559 List<PageData> test = new ArrayList<PageData>();
510 560 int onum[] = new int[list.size()];
511   -
512   - for(int i = 0;i<list.size();i++){
  561 +
  562 + for (int i = 0; i < list.size(); i++) {
513 563 PageData temp = new PageData();
514 564 String questionid = list.get(i).get("QUESTION_ID").toString();
515   -
516   - if(list.get(i).get("NO_NAME")==null||list.get(i).get("NO_NAME").toString().isEmpty()){
  565 +
  566 + if (list.get(i).get("NO_NAME") == null
  567 + || list.get(i).get("NO_NAME").toString().isEmpty()) {
517 568 continue;
518 569 }
519   - Float que_score = Float.valueOf(list.get(i).get("SCORE").toString());
  570 + Float que_score = Float.valueOf(list.get(i).get("SCORE")
  571 + .toString());
520 572 temp.put("QUESTION_ID", questionid);
521 573 PageData question = questionService.findById(temp);
522   - temp.put("ANSWER",question.get("ANSWER").toString());
  574 + temp.put("ANSWER", question.get("ANSWER").toString());
523 575 temp.put("QUESTION_RANK", list.get(i).get("RANK").toString());
524 576 temp.put("QUESTION_SCORE", que_score);
525   -
  577 +
526 578 PageData que = questionService.findById(temp);
527 579 Integer option_num = 0;
528   - if(!que.get("OPTION_NUM").toString().isEmpty()){
529   - option_num = Integer.valueOf(que.get("OPTION_NUM").toString());
530   - onum[i]=option_num;
  580 + if (!que.get("OPTION_NUM").toString().isEmpty()) {
  581 + option_num = Integer.valueOf(que.get("OPTION_NUM")
  582 + .toString());
  583 + onum[i] = option_num;
531 584 }
532   -
  585 +
533 586 String tpList = pd.get("TESTPAPER_ID").toString();
534 587 String tpListArray[] = tpList.split(",");
535   -
  588 +
536 589 temp.put("TEST_ID", tpListArray);
537   - List<PageData> queInfo = testpaperinfoService.listTestPaperQuestionIDinfo(temp);
538   - int answer[] = new int[option_num+1];
  590 + List<PageData> queInfo = testpaperinfoService
  591 + .listTestPaperQuestionIDinfo(temp);
  592 + int answer[] = new int[option_num + 1];
539 593 int right = 0;
540 594 int lost = 0;
541   - for(int j=0;j<queInfo.size();j++){
542   - if(queInfo.get(j).get("ANSWER").toString().isEmpty()){
  595 + for (int j = 0; j < queInfo.size(); j++) {
  596 + if (queInfo.get(j).get("ANSWER").toString().isEmpty()) {
543 597 lost++;
544 598 }
545   - if(queInfo.get(j).get("RIGHT")!=null&&!queInfo.get(j).get("RIGHT").toString().isEmpty()){
546   - if(queInfo.get(j).get("RIGHT").toString().equals("1")){
  599 + if (queInfo.get(j).get("RIGHT") != null
  600 + && !queInfo.get(j).get("RIGHT").toString()
  601 + .isEmpty()) {
  602 + if (queInfo.get(j).get("RIGHT").toString().equals("1")) {
547 603 right++;
548 604 }
549 605 }
550   - if(queInfo.get(j).get("ANSWER")!=null&&!queInfo.get(j).get("ANSWER").toString().isEmpty()){
551   - for(int o=0;o<option_num;o++ ){
552   - String s = String.valueOf((char)(65+o)) ;
553   - if(queInfo.get(j).get("ANSWER").toString().equals(s)){
  606 + if (queInfo.get(j).get("ANSWER") != null
  607 + && !queInfo.get(j).get("ANSWER").toString()
  608 + .isEmpty()) {
  609 + for (int o = 0; o < option_num; o++) {
  610 + String s = String.valueOf((char) (65 + o));
  611 + if (queInfo.get(j).get("ANSWER").toString()
  612 + .equals(s)) {
554 613 answer[o]++;
555 614 }
556   - }
557   - }
558   - else{
  615 + }
  616 + } else {
559 617 answer[option_num]++;
560 618 }
561 619 }
562 620 temp.put("RIGHTNUM", right);
563   - temp.put("ANSWERNUM",(queInfo.size()-lost));
564   - temp.put("ANSWERNUM2",queInfo.size());
  621 + temp.put("ANSWERNUM", (queInfo.size() - lost));
  622 + temp.put("ANSWERNUM2", queInfo.size());
565 623 temp.put("optin_info", JSONUtils.toJSONString(answer));
566 624 templist.add(temp);
567 625 }
568 626 Arrays.sort(onum);
569   - int max = onum[onum.length-1];
570   - pd.put("MAX",max);
571   - }
572   -
573   - Collections.sort(templist,new Comparator<PageData>(){
  627 + int max = onum[onum.length - 1];
  628 + pd.put("MAX", max);
  629 + }
  630 +
  631 + Collections.sort(templist, new Comparator<PageData>() {
574 632  
575 633 @Override
576 634 public int compare(PageData o1, PageData o2) {
577   - Integer o1GetScore = Integer.valueOf(o1.getString("QUESTION_RANK"));
578   - Integer o2GetScore = Integer.valueOf(o2.getString("QUESTION_RANK"));
  635 + Integer o1GetScore = Integer.valueOf(o1
  636 + .getString("QUESTION_RANK"));
  637 + Integer o2GetScore = Integer.valueOf(o2
  638 + .getString("QUESTION_RANK"));
579 639 return o1GetScore.compareTo(o2GetScore);
580 640 }
581   -
  641 +
582 642 });
583   -
584 643  
585   -// mv.addObject("varList", templist);
586   -// mv.addObject("pd",pd);
587   -
588   - Map<String,Object> dataMap = new HashMap<String,Object>();
  644 + // mv.addObject("varList", templist);
  645 + // mv.addObject("pd",pd);
  646 +
  647 + Map<String, Object> dataMap = new HashMap<String, Object>();
589 648 List<String> titles = new ArrayList<String>();
590   - titles.add("题号"); //1
591   - titles.add("答案"); //2
592   - titles.add("答题人数"); //3
593   - titles.add("正确人数"); //4
594   - titles.add("正确率"); //5
595   - titles.add("满分值"); //6
596   - titles.add("平均分"); //7
  649 + titles.add("题号"); // 1
  650 + titles.add("答案"); // 2
  651 + titles.add("答题人数"); // 3
  652 + titles.add("正确人数"); // 4
  653 + titles.add("正确率"); // 5
  654 + titles.add("满分值"); // 6
  655 + titles.add("平均分"); // 7
597 656 Integer max = Integer.valueOf(pd.getString("MAX"));
598   - for(int x = 0 ;x<max;x++){
599   - titles.add("选"+Myelfun.jstlInt2Char(x+1)+"人数"); //8
600   - titles.add("选"+Myelfun.jstlInt2Char(x+1)+"比例"); //9
  657 + for (int x = 0; x < max; x++) {
  658 + titles.add("选" + Myelfun.jstlInt2Char(x + 1) + "人数"); // 8
  659 + titles.add("选" + Myelfun.jstlInt2Char(x + 1) + "比例"); // 9
601 660 }
602   - titles.add("漏选人数"); //10
603   - titles.add("漏选比例"); //11
  661 + titles.add("漏选人数"); // 10
  662 + titles.add("漏选比例"); // 11
604 663 dataMap.put("titles", titles);
605 664 List<PageData> varOList = templist;
606 665 List<PageData> varList = new ArrayList<PageData>();
607   - DecimalFormat decimalFormat=new DecimalFormat("0.00");
608   - for(int i=0;i<varOList.size();i++){
  666 + DecimalFormat decimalFormat = new DecimalFormat("0.00");
  667 + for (int i = 0; i < varOList.size(); i++) {
609 668 PageData vpd = new PageData();
610   -
611   - vpd.put("var1", varOList.get(i).getString("QUESTION_RANK")); //1
612   - vpd.put("var2", varOList.get(i).getString("ANSWER")); //2
613   - vpd.put("var3", varOList.get(i).getString("ANSWERNUM")); //3
614   - vpd.put("var4", varOList.get(i).getString("RIGHTNUM")); //4
615   - vpd.put("var5", decimalFormat.format(Double.valueOf(varOList.get(i).getString("RIGHTNUM"))*100/Double.valueOf(varOList.get(i).getString("ANSWERNUM")))+"%"); //5
616   - vpd.put("var6", varOList.get(i).getString("QUESTION_SCORE")); //6
617   - vpd.put("var7", decimalFormat.format(Double.valueOf(varOList.get(i).getString("RIGHTNUM"))*Double.valueOf(varOList.get(i).getString("QUESTION_SCORE"))/Double.valueOf(varOList.get(i).getString("ANSWERNUM")))); //7
  669 +
  670 + vpd.put("var1", varOList.get(i).getString("QUESTION_RANK")); // 1
  671 + vpd.put("var2", varOList.get(i).getString("ANSWER")); // 2
  672 + vpd.put("var3", varOList.get(i).getString("ANSWERNUM")); // 3
  673 + vpd.put("var4", varOList.get(i).getString("RIGHTNUM")); // 4
  674 + vpd.put("var5",
  675 + decimalFormat.format(Double.valueOf(varOList.get(i)
  676 + .getString("RIGHTNUM"))
  677 + * 100
  678 + / Double.valueOf(varOList.get(i).getString(
  679 + "ANSWERNUM")))
  680 + + "%"); // 5
  681 + vpd.put("var6", varOList.get(i).getString("QUESTION_SCORE")); // 6
  682 + vpd.put("var7", decimalFormat.format(Double.valueOf(varOList.get(i)
  683 + .getString("RIGHTNUM"))
  684 + * Double.valueOf(varOList.get(i)
  685 + .getString("QUESTION_SCORE"))
  686 + / Double.valueOf(varOList.get(i).getString("ANSWERNUM")))); // 7
618 687 String s = varOList.get(i).get("optin_info").toString();
619 688 s = s.replace("[", "");
620 689 s = s.replace("]", "");
621   - List<String> optoin = Arrays.asList(s.split(","));
622   - for(int y = 0 ;y<max;y++){
  690 + List<String> optoin = Arrays.asList(s.split(","));
  691 + for (int y = 0; y < max; y++) {
623 692 Integer nn = 0;
624   - if((optoin.size()-1)>y){
  693 + if ((optoin.size() - 1) > y) {
625 694 nn = Integer.valueOf(optoin.get(y));
626   - }else{
  695 + } else {
627 696 break;
628 697 }
629   - vpd.put("var"+(8+2*y), nn); //8
630   - vpd.put("var"+(9+2*y), decimalFormat.format(nn*100/Double.valueOf(varOList.get(i).getString("ANSWERNUM")))+"%"); //9
631   -
  698 + vpd.put("var" + (8 + 2 * y), nn); // 8
  699 + vpd.put("var" + (9 + 2 * y),
  700 + decimalFormat.format(nn
  701 + * 100
  702 + / Double.valueOf(varOList.get(i).getString(
  703 + "ANSWERNUM")))
  704 + + "%"); // 9
  705 +
632 706 }
633   -
634   - vpd.put("var"+(max*2+8), Integer.valueOf(optoin.get(optoin.size()-1))); //8
635   - vpd.put("var"+(max*2+9), decimalFormat.format(Double.valueOf(optoin.get(optoin.size()-1))*100/Double.valueOf(varOList.get(i).getString("ANSWERNUM2")))+"%"); //9
636   -
  707 +
  708 + vpd.put("var" + (max * 2 + 8),
  709 + Integer.valueOf(optoin.get(optoin.size() - 1))); // 8
  710 + vpd.put("var" + (max * 2 + 9),
  711 + decimalFormat.format(Double.valueOf(optoin.get(optoin
  712 + .size() - 1))
  713 + * 100
  714 + / Double.valueOf(varOList.get(i).getString(
  715 + "ANSWERNUM2")))
  716 + + "%"); // 9
  717 +
637 718 varList.add(vpd);
638 719 }
639 720 dataMap.put("varList", varList);
640 721 ObjectExcelView erv = new ObjectExcelView();
641   - mv = new ModelAndView(erv,dataMap);
642   -
  722 + mv = new ModelAndView(erv, dataMap);
643 723  
644 724 return mv;
645 725 }
646   -
  726 +
647 727 /**
648 728 * 按学生分析
  729 + *
649 730 * @return
650 731 * @throws Exception
651 732 */
652   - @RequestMapping(value="/paperRep3")
653   - public ModelAndView paperRep3() throws Exception{
  733 + @RequestMapping(value = "/paperRep3")
  734 + public ModelAndView paperRep3() throws Exception {
654 735 ModelAndView mv = this.getModelAndView();
655 736 PageData pd = new PageData();
656 737 List<PageData> temp = new ArrayList<PageData>();
657 738 PageData saveData = new PageData();
658   -
  739 +
659 740 ResponseGson<PageData> res = new ResponseGson();
660 741 pd = this.getPageData();
661   - if(pd.containsKey("PAPER_ID")){
662   -
  742 + if (pd.containsKey("PAPER_ID")) {
  743 +
663 744 List<PageData> list = studenttestService.findTestInfoByPid(pd);
664 745 PageData paper = paperService.findById(pd);
665   - if(paper!=null){
  746 + if (paper != null) {
666 747 pd.put("SCORE", paper.get("SCORE"));
667 748 pd.put("PAPER_NAME", paper.get("TITLE"));
668 749 }
669 750 List<String> sid = new ArrayList<String>();
670 751 Integer test_num = 0;
671 752 Integer lost_num = 0;
672   - for(PageData item : list){
673   -
674   - Integer index = this.indexOfStrInList(sid, item.getString("STUDENT_ID"));
675   - if(index!=-1){
676   -
  753 + for (PageData item : list) {
  754 +
  755 + PageData p = new PageData();
  756 + p.put("ID", item.getString("STUDENT_ID"));
  757 + PageData student = stundentService.findById(p);
  758 + if (student != null) {
  759 + Integer index = this.indexOfStrInList(sid,
  760 + item.getString("STUDENT_ID"));
  761 + if (index != -1) {
  762 +
677 763 test_num++;
678   - List<PageData> test_list = (List<PageData>) temp.get(index).get("TEST_LIST");
  764 + List<PageData> test_list = (List<PageData>) temp.get(
  765 + index).get("TEST_LIST");
679 766 PageData test = new PageData();
680 767 test.put("CREATE_DATE", item.get("CREATE_DATE"));
681   - if(item.getString("LOST_TEST").isEmpty()){
  768 + if (item.getString("LOST_TEST").isEmpty()) {
682 769 test.put("SCORE", item.get("SCORE"));
683   - }else{
  770 + } else {
684 771 test.put("SCORE", "--");
685   - temp.get(index).put("LOST_NUM", Integer.valueOf(temp.get(index).getString("LOST_NUM"))+1);
  772 + temp.get(index).put(
  773 + "LOST_NUM",
  774 + Integer.valueOf(temp.get(index).getString(
  775 + "LOST_NUM")) + 1);
686 776 }
687 777 test.put("AVG_SCORE", item.get("AVG_SCORE"));
688 778 test_list.add(test);
689   - Float total = Float.valueOf(temp.get(index).getString("STUDENT_TOTAL"));
690   - temp.get(index).put("STUDENT_TOTAL",total+Float.valueOf(item.getString("SCORE")));
  779 + Float total = Float.valueOf(temp.get(index).getString(
  780 + "STUDENT_TOTAL"));
  781 + temp.get(index).put("STUDENT_TOTAL",
  782 + total + Float.valueOf(item.getString("SCORE")));
691 783 temp.get(index).put("TEST_LIST", test_list);
692   - temp.get(index).put("TEST_NUM", test_list.size()-Integer.valueOf(temp.get(index).getString("LOST_NUM")));
693   -
694   - }else{
695   - test_num=1;
696   - lost_num=0;
697   - PageData stu = new PageData();
698   - stu.put("STUDENT_NAME", item.get("STUDENT_NAME"));
699   - stu.put("CLASS_NAME", item.get("CLASS_NAME"));
700   - List<PageData> testList = new ArrayList<PageData>();
701   - PageData test = new PageData();
702   - test.put("CREATE_DATE", item.get("CREATE_DATE"));
703   - if(item.getString("LOST_TEST").isEmpty()){
704   - test.put("SCORE", item.get("SCORE"));
705   - }else{
706   - test.put("SCORE", "--");
707   - lost_num++;
  784 + temp.get(index).put(
  785 + "TEST_NUM",
  786 + test_list.size()
  787 + - Integer.valueOf(temp.get(index)
  788 + .getString("LOST_NUM")));
  789 +
  790 + } else {
  791 + test_num = 1;
  792 + lost_num = 0;
  793 + PageData stu = new PageData();
  794 + stu.put("STUDENT_NAME", item.get("STUDENT_NAME"));
  795 + stu.put("CLASS_NAME", item.get("CLASS_NAME"));
  796 + List<PageData> testList = new ArrayList<PageData>();
  797 + PageData test = new PageData();
  798 + test.put("CREATE_DATE", item.get("CREATE_DATE"));
  799 + if (item.getString("LOST_TEST").isEmpty()) {
  800 + test.put("SCORE", item.get("SCORE"));
  801 + } else {
  802 + test.put("SCORE", "--");
  803 + lost_num++;
  804 + }
  805 + test.put("AVG_SCORE", item.get("AVG_SCORE"));
  806 + testList.add(test);
  807 + stu.put("STUDENT_TOTAL", item.get("SCORE"));
  808 + stu.put("TEST_LIST", testList);
  809 + stu.put("TEST_NUM", testList.size() - lost_num);
  810 + stu.put("LOST_NUM", lost_num);
  811 + sid.add(item.getString("STUDENT_ID"));
  812 + temp.add(stu);
708 813 }
709   - test.put("AVG_SCORE", item.get("AVG_SCORE"));
710   - testList.add(test);
711   - stu.put("STUDENT_TOTAL",item.get("SCORE"));
712   - stu.put("TEST_LIST", testList);
713   - stu.put("TEST_NUM", testList.size()-lost_num);
714   - stu.put("LOST_NUM", lost_num);
715   - sid.add(item.getString("STUDENT_ID"));
716   - temp.add(stu);
717 814 }
718   -
719 815 }
720 816 }
721   - Collections.sort(temp,new Comparator<PageData>(){
  817 + Collections.sort(temp, new Comparator<PageData>() {
722 818  
723 819 @Override
724 820 public int compare(PageData o1, PageData o2) {
725   - Float o1GetScore = Float.valueOf(o1.getString("STUDENT_TOTAL"))/Float.valueOf(o1.getString("TEST_NUM"));
726   - Float o2GetScore = Float.valueOf(o2.getString("STUDENT_TOTAL"))/Float.valueOf(o2.getString("TEST_NUM"));
  821 +
  822 + Float o1GetScore = Float.valueOf(o1.getString("TEST_NUM")) == 0 ? 0
  823 + : Float.valueOf(o1.getString("STUDENT_TOTAL"))
  824 + / Float.valueOf(o1.getString("TEST_NUM"));
  825 + Float o2GetScore = Float.valueOf(o2.getString("TEST_NUM")) == 0 ? 0
  826 + : Float.valueOf(o2.getString("STUDENT_TOTAL"))
  827 + / Float.valueOf(o2.getString("TEST_NUM"));
727 828 return o2GetScore.compareTo(o1GetScore);
728 829 }
729   -
  830 +
730 831 });
731 832 mv.setViewName("sunvote/paper/test_list3");
732 833 mv.addObject("varList", temp);
733   - mv.addObject("pd",pd);
  834 + mv.addObject("pd", pd);
734 835 res.setData(saveData);
735 836 return mv;
736 837 }
737   -
738   -
739   - @RequestMapping(value="/export3")
740   - public ModelAndView export3() throws Exception{
  838 +
  839 + @RequestMapping(value = "/export3")
  840 + public ModelAndView export3() throws Exception {
741 841 ModelAndView mv = this.getModelAndView();
742 842 PageData pd = new PageData();
743 843 List<PageData> temp = new ArrayList<PageData>();
744 844 PageData saveData = new PageData();
745   -
  845 +
746 846 ResponseGson<PageData> res = new ResponseGson();
747 847 pd = this.getPageData();
748   - if(pd.containsKey("PAPER_ID")){
749   -
  848 + if (pd.containsKey("PAPER_ID")) {
  849 +
750 850 List<PageData> list = studenttestService.findTestInfoByPid(pd);
751 851 PageData paper = paperService.findById(pd);
752   - if(paper!=null){
  852 + if (paper != null) {
753 853 pd.put("SCORE", paper.get("SCORE"));
754 854 pd.put("PAPER_NAME", paper.get("TITLE"));
755 855 }
756 856 List<String> sid = new ArrayList<String>();
757 857 Integer test_num = 0;
758 858 Integer lost_num = 0;
759   - for(PageData item : list){
760   -
761   - Integer index = this.indexOfStrInList(sid, item.getString("STUDENT_ID"));
762   - if(index!=-1){
763   -
764   - test_num++;
765   - List<PageData> test_list = (List<PageData>) temp.get(index).get("TEST_LIST");
766   - PageData test = new PageData();
767   - test.put("CREATE_DATE", item.get("CREATE_DATE"));
768   - if(item.getString("LOST_TEST").isEmpty()){
769   - test.put("SCORE", item.get("SCORE"));
770   - }else{
771   - test.put("SCORE", "--");
772   - temp.get(index).put("LOST_NUM", Integer.valueOf(temp.get(index).getString("LOST_NUM"))+1);
773   - }
774   - test.put("AVG_SCORE", item.get("AVG_SCORE"));
775   - test_list.add(test);
776   - Float total = Float.valueOf(temp.get(index).getString("STUDENT_TOTAL"));
777   - temp.get(index).put("STUDENT_TOTAL",total+Float.valueOf(item.getString("SCORE")));
778   - temp.get(index).put("TEST_LIST", test_list);
779   - temp.get(index).put("TEST_NUM", test_list.size()-Integer.valueOf(temp.get(index).getString("LOST_NUM")));
780   -
781   - }else{
782   - test_num=1;
783   - lost_num=0;
  859 + for (PageData item : list) {
  860 + PageData p = new PageData();
  861 + p.put("ID", item.getString("STUDENT_ID"));
  862 + PageData student = stundentService.findById(p);
  863 + if (student != null) {
  864 + Integer index = this.indexOfStrInList(sid,
  865 + item.getString("STUDENT_ID"));
  866 + if (index != -1) {
  867 +
  868 + test_num++;
  869 + List<PageData> test_list = (List<PageData>) temp.get(index)
  870 + .get("TEST_LIST");
  871 + PageData test = new PageData();
  872 + test.put("CREATE_DATE", item.get("CREATE_DATE"));
  873 + if (item.getString("LOST_TEST").isEmpty()) {
  874 + test.put("SCORE", item.get("SCORE"));
  875 + } else {
  876 + test.put("SCORE", "--");
  877 + temp.get(index).put(
  878 + "LOST_NUM",
  879 + Integer.valueOf(temp.get(index).getString(
  880 + "LOST_NUM")) + 1);
  881 + }
  882 + test.put("AVG_SCORE", item.get("AVG_SCORE"));
  883 + test_list.add(test);
  884 + Float total = Float.valueOf(temp.get(index).getString(
  885 + "STUDENT_TOTAL"));
  886 + temp.get(index).put("STUDENT_TOTAL",
  887 + total + Float.valueOf(item.getString("SCORE")));
  888 + temp.get(index).put("TEST_LIST", test_list);
  889 + temp.get(index).put(
  890 + "TEST_NUM",
  891 + test_list.size()
  892 + - Integer.valueOf(temp.get(index)
  893 + .getString("LOST_NUM")));
  894 +
  895 + } else {
  896 + test_num = 1;
  897 + lost_num = 0;
784 898 PageData stu = new PageData();
785 899 stu.put("STUDENT_NAME", item.get("STUDENT_NAME"));
786 900 stu.put("CLASS_NAME", item.get("CLASS_NAME"));
787 901 List<PageData> testList = new ArrayList<PageData>();
788 902 PageData test = new PageData();
789 903 test.put("CREATE_DATE", item.get("CREATE_DATE"));
790   - if(item.getString("LOST_TEST").isEmpty()){
  904 + if (item.getString("LOST_TEST").isEmpty()) {
791 905 test.put("SCORE", item.get("SCORE"));
792   - }else{
  906 + } else {
793 907 test.put("SCORE", "--");
794 908 lost_num++;
795 909 }
796 910 test.put("AVG_SCORE", item.get("AVG_SCORE"));
797 911 testList.add(test);
798   - stu.put("STUDENT_TOTAL",item.get("SCORE"));
  912 + stu.put("STUDENT_TOTAL", item.get("SCORE"));
799 913 stu.put("TEST_LIST", testList);
800   - stu.put("TEST_NUM", testList.size()-lost_num);
  914 + stu.put("TEST_NUM", testList.size() - lost_num);
801 915 stu.put("LOST_NUM", lost_num);
802 916 sid.add(item.getString("STUDENT_ID"));
803 917 temp.add(stu);
804 918 }
805   -
  919 + }
806 920 }
807 921 }
808   - Collections.sort(temp,new Comparator<PageData>(){
  922 + Collections.sort(temp, new Comparator<PageData>() {
809 923  
810 924 @Override
811 925 public int compare(PageData o1, PageData o2) {
812   - Float o1GetScore = Float.valueOf(o1.getString("STUDENT_TOTAL"))/Float.valueOf(o1.getString("TEST_NUM"));
813   - Float o2GetScore = Float.valueOf(o2.getString("STUDENT_TOTAL"))/Float.valueOf(o2.getString("TEST_NUM"));
  926 +
  927 + Float o1GetScore = Float.valueOf(o1.getString("TEST_NUM")) == 0 ? 0
  928 + : Float.valueOf(o1.getString("STUDENT_TOTAL"))
  929 + / Float.valueOf(o1.getString("TEST_NUM"));
  930 + Float o2GetScore = Float.valueOf(o2.getString("TEST_NUM")) == 0 ? 0
  931 + : Float.valueOf(o2.getString("STUDENT_TOTAL"))
  932 + / Float.valueOf(o2.getString("TEST_NUM"));
814 933 return o2GetScore.compareTo(o1GetScore);
815 934 }
816   -
  935 +
817 936 });
818 937  
819 938 mv.addObject("varList", temp);
820   - mv.addObject("pd",pd);
821   -
822   - Map<String,Object> dataMap = new HashMap<String,Object>();
  939 + mv.addObject("pd", pd);
  940 +
  941 + Map<String, Object> dataMap = new HashMap<String, Object>();
823 942 List<String> titles = new ArrayList<String>();
824   - titles.add("学生姓名"); //1
825   - titles.add("班级"); //2
826   - titles.add("综合排名"); //3
827   - titles.add("个人平均得分"); //4
828   - titles.add("个人平均得分率"); //5
829   - titles.add("个人得分"); //6
830   - titles.add("测验平均分"); //7
831   - titles.add("测验时间"); //8
832   -
  943 + titles.add("学生姓名"); // 1
  944 + titles.add("班级"); // 2
  945 + titles.add("综合排名"); // 3
  946 + titles.add("个人平均得分"); // 4
  947 + titles.add("个人平均得分率"); // 5
  948 + titles.add("个人得分"); // 6
  949 + titles.add("测验平均分"); // 7
  950 + titles.add("测验时间"); // 8
  951 +
833 952 dataMap.put("titles", titles);
834 953 List<PageData> varOList = temp;
835 954 List<PageData> varList = new ArrayList<PageData>();
836   - DecimalFormat decimalFormat=new DecimalFormat("0.00");
837   - for(int i=0;i<varOList.size();i++){
  955 + DecimalFormat decimalFormat = new DecimalFormat("0.00");
  956 +
  957 + for (int i = 0; i < varOList.size(); i++) {
838 958 PageData vpd = new PageData();
839   -
840   - vpd.put("var1", varOList.get(i).getString("STUDENT_NAME")); //1
841   - vpd.put("var2", varOList.get(i).getString("CLASS_NAME")); //2
842   - vpd.put("var3", i+1); //3
843   - vpd.put("var4", varOList.get(i).getString("TEST_NUM").equals("0")?0:decimalFormat.format(Double.valueOf(varOList.get(i).getString("STUDENT_TOTAL"))/Double.valueOf(varOList.get(i).getString("TEST_NUM")))); //4
844   - vpd.put("var5", varOList.get(i).getString("TEST_NUM").equals("0")?0:decimalFormat.format((Double.valueOf(varOList.get(i).getString("STUDENT_TOTAL"))*100/Double.valueOf(varOList.get(i).getString("TEST_NUM")))/Double.valueOf(pd.getString("SCORE")))); //5
845   - List<PageData> test_list = (List<PageData>)varOList.get(i).get("TEST_LIST");
846   -
  959 +
  960 + vpd.put("var1", varOList.get(i).getString("STUDENT_NAME")); // 1
  961 + vpd.put("var2", varOList.get(i).getString("CLASS_NAME")); // 2
  962 + vpd.put("var3", i + 1); // 3
  963 + vpd.put("var4",
  964 + varOList.get(i).getString("TEST_NUM").equals("0") ? 0
  965 + : decimalFormat.format(Double.valueOf(varOList.get(
  966 + i).getString("STUDENT_TOTAL"))
  967 + / Double.valueOf(varOList.get(i).getString(
  968 + "TEST_NUM")))); // 4
  969 + vpd.put("var5",
  970 + varOList.get(i).getString("TEST_NUM").equals("0") ? 0
  971 + : decimalFormat.format((Double.valueOf(varOList
  972 + .get(i).getString("STUDENT_TOTAL")) * 100 / Double
  973 + .valueOf(varOList.get(i).getString(
  974 + "TEST_NUM")))
  975 + / Double.valueOf(pd.getString("SCORE")))); // 5
  976 + List<PageData> test_list = (List<PageData>) varOList.get(i).get(
  977 + "TEST_LIST");
  978 +
847 979 List<String> score = new ArrayList<String>();
848 980 List<String> AVG_SCORE = new ArrayList<String>();
849 981 List<String> CREATE_DATE = new ArrayList<String>();
850   - for(int x=0;x<test_list.size();x++){
  982 + for (int x = 0; x < test_list.size(); x++) {
851 983 score.add(test_list.get(x).getString("SCORE"));
852 984 AVG_SCORE.add(test_list.get(x).getString("AVG_SCORE"));
853 985 CREATE_DATE.add(test_list.get(x).getString("CREATE_DATE"));
854   -
  986 +
855 987 }
856 988 vpd.put("var6", score);
857 989 vpd.put("var7", AVG_SCORE);
858 990 vpd.put("var8", CREATE_DATE);
859 991 varList.add(vpd);
  992 +
860 993 }
861 994 dataMap.put("varList", varList);
862 995 ObjectExcelView2 erv = new ObjectExcelView2();
863   - mv = new ModelAndView(erv,dataMap);
864   -
  996 + mv = new ModelAndView(erv, dataMap);
865 997  
866 998 return mv;
867 999 }
868   -
869   - @RequestMapping(value="/iteminfo")
870   - public ModelAndView iteminfo() throws Exception{
871   - logBefore(logger, Jurisdiction.getUsername()+"Paper详细信息");
872   - //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
  1000 +
  1001 + @RequestMapping(value = "/iteminfo")
  1002 + public ModelAndView iteminfo() throws Exception {
  1003 + logBefore(logger, Jurisdiction.getUsername() + "Paper详细信息");
  1004 + // if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
  1005 + // //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
873 1006 ModelAndView mv = this.getModelAndView();
874 1007 PageData pd = new PageData();
875 1008 pd = this.getPageData();
876   -
877   - if(pd.containsKey("PAPER_ID")){
878   - try{
  1009 +
  1010 + if (pd.containsKey("PAPER_ID")) {
  1011 + try {
879 1012 Paper paper = new Paper();
880 1013 PageData ppd = paperService.findById(pd);
881   - if(ppd != null){
882   - paper.setTitle(ppd.getString("TITLE"));
883   - paper.setExam_time(ppd.getString("EXAM_TIME"));
884   - paper.setUser_id(ppd.getString("USER_ID"));
885   - paper.setPaper_type(ppd.getString("PAPER_TYPE"));
886   - paper.setSubject_id(ppd.getString("SUBJECT_ID"));
887   - paper.setGrade_id(ppd.getString("GRADE_ID"));
888   - paper.setScore(ppd.getString("SCORE"));
889   - paper.setQuestions(new ArrayList<Question>());
890   -
891   - List<PageData> questList = v1Service.getTestPaperInfo(pd);
892   - for(PageData qpd : questList){
893   - Question question = new Question();
894   - question.setAnswer(qpd.getString("ANSWER"));
895   - question.setQuestion_id(qpd.getString("QUESTION_ID"));
896   - question.setSubject_id(qpd.getString("SUBJECT_ID"));
897   - question.setChapter_id(qpd.getString("CHAPTER_ID"));
898   - question.setProblem_type_id(qpd.getString("PROBLEM_TYPE_ID"));
899   - question.setKnowledge_id(qpd.getString("KNOWLEDGE_ID"));
900   - question.setContent(qpd.getString("CONTENT").replaceAll("<fill></fill>", "______"));
901   - question.setOption_num(qpd.getString("OPTION_NUM"));
902   - question.setOption_content(qpd.getString("OPTION_CONTENT"));
903   - question.setDifficulty(qpd.getString("DIFFICULTY"));
904   - question.setAnalysis(qpd.getString("ANALYSIS"));
905   - question.setQuestion_from(qpd.getString("QUESTION_FROM"));
906   - question.setSug_score(qpd.getString("SCORE"));
907   - question.setSug_part_score(qpd.getString("PART_SCORE"));
908   - question.setRank(qpd.getString("RANK"));
909   - question.setNo_name(qpd.getString("NO_NAME"));
910   - if("-1".equals("" + qpd.getString("P_ID"))){
911   - PageData pidPd = new PageData();
912   - pidPd.put("PID", question.getQuestion_id());
913   - question.setQuestions(new ArrayList<Question>());
914   - List<PageData> qs = v1Service.getQuestionsByPID(pidPd);
915   - for(PageData q : qs){
916   - Question qq = new Question();
917   - qq.setAnswer(q.getString("ANSWER"));
918   - qq.setQuestion_id(q.getString("QUESTION_ID"));
919   - qq.setSubject_id(q.getString("SUBJECT_ID"));
920   - qq.setChapter_id(q.getString("CHAPTER_ID"));
921   - qq.setProblem_type_id(q.getString("PROBLEM_TYPE_ID"));
922   - qq.setKnowledge_id(q.getString("KNOWLEDGE_ID"));
923   - qq.setContent(q.getString("CONTENT").replaceAll("<fill></fill>", "______"));
924   - qq.setOption_num(q.getString("OPTION_NUM"));
925   - qq.setOption_content(q.getString("OPTION_CONTENT"));
926   - qq.setDifficulty(q.getString("DIFFICULTY"));
927   - qq.setAnalysis(q.getString("ANALYSIS"));
928   - qq.setQuestion_from(q.getString("QUESTION_FROM"));
929   - qq.setSug_score(q.getString("SCORE"));
930   - qq.setSug_part_score(q.getString("PART_SCORE"));
931   - qq.setRank(q.getString("RANK"));
932   - qq.setNo_name(q.getString("NO_NAME"));
933   - question.getQuestions().add(qq);
  1014 + if (ppd != null) {
  1015 + paper.setTitle(ppd.getString("TITLE"));
  1016 + paper.setExam_time(ppd.getString("EXAM_TIME"));
  1017 + paper.setUser_id(ppd.getString("USER_ID"));
  1018 + paper.setPaper_type(ppd.getString("PAPER_TYPE"));
  1019 + paper.setSubject_id(ppd.getString("SUBJECT_ID"));
  1020 + paper.setGrade_id(ppd.getString("GRADE_ID"));
  1021 + paper.setScore(ppd.getString("SCORE"));
  1022 + paper.setQuestions(new ArrayList<Question>());
  1023 +
  1024 + List<PageData> questList = v1Service.getTestPaperInfo(pd);
  1025 + for (PageData qpd : questList) {
  1026 + Question question = new Question();
  1027 + question.setAnswer(qpd.getString("ANSWER"));
  1028 + question.setQuestion_id(qpd.getString("QUESTION_ID"));
  1029 + question.setSubject_id(qpd.getString("SUBJECT_ID"));
  1030 + question.setChapter_id(qpd.getString("CHAPTER_ID"));
  1031 + question.setProblem_type_id(qpd
  1032 + .getString("PROBLEM_TYPE_ID"));
  1033 + question.setKnowledge_id(qpd.getString("KNOWLEDGE_ID"));
  1034 + question.setContent(qpd.getString("CONTENT")
  1035 + .replaceAll("<fill></fill>", "______"));
  1036 + question.setOption_num(qpd.getString("OPTION_NUM"));
  1037 + question.setOption_content(qpd
  1038 + .getString("OPTION_CONTENT"));
  1039 + question.setDifficulty(qpd.getString("DIFFICULTY"));
  1040 + question.setAnalysis(qpd.getString("ANALYSIS"));
  1041 + question.setQuestion_from(qpd
  1042 + .getString("QUESTION_FROM"));
  1043 + question.setSug_score(qpd.getString("SCORE"));
  1044 + question.setSug_part_score(qpd.getString("PART_SCORE"));
  1045 + question.setRank(qpd.getString("RANK"));
  1046 + question.setNo_name(qpd.getString("NO_NAME"));
  1047 + if ("-1".equals("" + qpd.getString("P_ID"))) {
  1048 + PageData pidPd = new PageData();
  1049 + pidPd.put("PID", question.getQuestion_id());
  1050 + question.setQuestions(new ArrayList<Question>());
  1051 + List<PageData> qs = v1Service
  1052 + .getQuestionsByPID(pidPd);
  1053 + for (PageData q : qs) {
  1054 + Question qq = new Question();
  1055 + qq.setAnswer(q.getString("ANSWER"));
  1056 + qq.setQuestion_id(q.getString("QUESTION_ID"));
  1057 + qq.setSubject_id(q.getString("SUBJECT_ID"));
  1058 + qq.setChapter_id(q.getString("CHAPTER_ID"));
  1059 + qq.setProblem_type_id(q
  1060 + .getString("PROBLEM_TYPE_ID"));
  1061 + qq.setKnowledge_id(q.getString("KNOWLEDGE_ID"));
  1062 + qq.setContent(q.getString("CONTENT")
  1063 + .replaceAll("<fill></fill>", "______"));
  1064 + qq.setOption_num(q.getString("OPTION_NUM"));
  1065 + qq.setOption_content(q
  1066 + .getString("OPTION_CONTENT"));
  1067 + qq.setDifficulty(q.getString("DIFFICULTY"));
  1068 + qq.setAnalysis(q.getString("ANALYSIS"));
  1069 + qq.setQuestion_from(q
  1070 + .getString("QUESTION_FROM"));
  1071 + qq.setSug_score(q.getString("SCORE"));
  1072 + qq.setSug_part_score(q.getString("PART_SCORE"));
  1073 + qq.setRank(q.getString("RANK"));
  1074 + qq.setNo_name(q.getString("NO_NAME"));
  1075 + question.getQuestions().add(qq);
  1076 + }
  1077 + }
  1078 + if ("-1".equals(qpd.getString("P_ID"))
  1079 + || "0".equals(qpd.getString("P_ID"))) {
  1080 + paper.getQuestions().add(question);
934 1081 }
935 1082 }
936   - if("-1".equals(qpd.getString("P_ID")) || "0".equals(qpd.getString("P_ID"))){
937   - paper.getQuestions().add(question);
938   - }
939   - }
940   - pd.put("JSON", paper.toJson());
941   - logger.info(paper.toJson());
942   -
  1083 + pd.put("JSON", paper.toJson());
  1084 + logger.info(paper.toJson());
  1085 +
943 1086 }
944   - }catch(Exception ex){
  1087 + } catch (Exception ex) {
945 1088 ex.printStackTrace();
946 1089 }
947 1090 }
948   - if(isChineseLanguageClient()){
  1091 + if (isChineseLanguageClient()) {
949 1092 mv.setViewName("sunvote/teacher/creat_question");
950   - }else{
  1093 + } else {
951 1094 mv.setViewName("sunvote/teacher/en_creat_question");
952 1095 }
953 1096 mv.addObject("pd", pd);
954   - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
  1097 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限
955 1098 return mv;
956 1099 }
957   -
958   -
959   - @RequestMapping(value="/npaper")
960   - public ModelAndView newpaper() throws Exception{
961   - logBefore(logger, Jurisdiction.getUsername()+"Paper详细信息");
  1100 +
  1101 + @RequestMapping(value = "/npaper")
  1102 + public ModelAndView newpaper() throws Exception {
  1103 + logBefore(logger, Jurisdiction.getUsername() + "Paper详细信息");
962 1104 ModelAndView mv = this.getModelAndView();
963 1105 PageData pd = new PageData();
964 1106 pd = this.getPageData();
965   - String paperType = pd.getString("PAPER_TYPE") ;
  1107 + String paperType = pd.getString("PAPER_TYPE");
966 1108 Paper paper = new Paper();
967 1109 paper.setTitle(pd.getString("NAME"));
968 1110 paper.setExam_time(pd.getString("TIME"));
969 1111 Session session = Jurisdiction.getSession();
970   - User user = (User)session.getAttribute(Const.SESSION_USER);
  1112 + User user = (User) session.getAttribute(Const.SESSION_USER);
971 1113 paper.setUser_id(user.getUSER_ID());
972   - paper.setPaper_type(paperType == null || "".equals(paperType.trim()) ? "1" :paperType);
  1114 + paper.setPaper_type(paperType == null || "".equals(paperType.trim()) ? "1"
  1115 + : paperType);
973 1116 String subjectId = pd.getString("SUBJECT_ID");
974   - paper.setSubject_id(subjectId == null || "".equals(subjectId.trim())? getSubjectId():subjectId);
  1117 + paper.setSubject_id(subjectId == null || "".equals(subjectId.trim()) ? getSubjectId()
  1118 + : subjectId);
975 1119 String gradeId = pd.getString("GRADE_ID");
976   - paper.setGrade_id( gradeId== null || "".equals(gradeId.trim())? getGradeID() : gradeId);
977   - String schoolId = pd.getString("SCHOOL_ID") ;
978   - paper.setSchool_id(schoolId == null || "".equals(schoolId.trim())? getSchoolID() : schoolId);
  1120 + paper.setGrade_id(gradeId == null || "".equals(gradeId.trim()) ? getGradeID()
  1121 + : gradeId);
  1122 + String schoolId = pd.getString("SCHOOL_ID");
  1123 + paper.setSchool_id(schoolId == null || "".equals(schoolId.trim()) ? getSchoolID()
  1124 + : schoolId);
979 1125 paper.setQuestions(new ArrayList<Question>());
980   -
  1126 +
981 1127 pd.put("JSON", paper.toJson());
982 1128 logger.info(paper.toJson());
983   -
  1129 +
984 1130 String TEMPLATE_ID = pd.getString("TEMPLATE_ID");
985   - if(TEMPLATE_ID != null && !"".equals(TEMPLATE_ID)){
  1131 + if (TEMPLATE_ID != null && !"".equals(TEMPLATE_ID)) {
986 1132 pd.put("PAGETEMPLATE_ID", TEMPLATE_ID);
987 1133 PageData template = pagetemplateService.findById(pd);
988 1134 mv.addObject("TEMPLEATE", template);
989 1135 }
990   -
991   - if(isChineseLanguageClient()){
  1136 +
  1137 + if (isChineseLanguageClient()) {
992 1138 mv.setViewName("sunvote/teacher/creat_question");
993   - }else{
  1139 + } else {
994 1140 mv.setViewName("sunvote/teacher/en_creat_question");
995 1141 }
996 1142 mv.addObject("pd", pd);
997   - if(paperType != null && "2".equals(paperType)){
  1143 + if (paperType != null && "2".equals(paperType)) {
998 1144 mv.addObject("JUMP_URL", "/main/admin");
999   - }else{
  1145 + } else {
1000 1146 mv.addObject("JUMP_URL", "/main/teacher");
1001 1147 }
1002   - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
  1148 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限
1003 1149 return mv;
1004 1150 }
1005   -
1006   -
1007   -
1008   - /**列表
  1151 +
  1152 + /**
  1153 + * 列表
  1154 + *
1009 1155 * @param page
1010 1156 * @throws Exception
1011 1157 */
1012   - @RequestMapping(value="/list2")
1013   - public ModelAndView list2(Page page) throws Exception{
1014   - logBefore(logger, Jurisdiction.getUsername()+"列表Paper");
1015   - //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
  1158 + @RequestMapping(value = "/list2")
  1159 + public ModelAndView list2(Page page) throws Exception {
  1160 + logBefore(logger, Jurisdiction.getUsername() + "列表Paper");
  1161 + // if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
  1162 + // //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
1016 1163 ModelAndView mv = this.getModelAndView();
1017 1164 PageData pd = new PageData();
1018 1165 pd = this.getPageData();
1019   - String keywords = pd.getString("keywords"); //关键词检索条件
1020   - if(null != keywords && !"".equals(keywords)){
  1166 + String keywords = pd.getString("keywords"); // 关键词检索条件
  1167 + if (null != keywords && !"".equals(keywords)) {
1021 1168 pd.put("keywords", keywords.trim());
1022 1169 }
1023 1170 String userID = getUserID();
1024 1171 pd.put("USER_ID", userID);
1025   - pd.put("PAPER_TYPE","1");
  1172 + pd.put("PAPER_TYPE", "1");
1026 1173 page.setPd(pd);
1027   - List<PageData> varList = paperService.list(page); //列出Paper列表
  1174 + List<PageData> varList = paperService.list(page); // 列出Paper列表
1028 1175 page.setLangIsChina(isChineseLanguageClient());
1029   - if(isChineseLanguageClient()){
  1176 + if (isChineseLanguageClient()) {
1030 1177 mv.setViewName("sunvote/paper/paper_list2");
1031   - }else{
  1178 + } else {
1032 1179 mv.setViewName("sunvote/paper/en_paper_list2");
1033 1180 }
1034   -
1035   - for(PageData p:varList){
  1181 +
  1182 + for (PageData p : varList) {
1036 1183 String examTime = p.getString("EXAM_TIME");
1037 1184 PageData temp = new PageData();
1038 1185 temp.put("PAPER_ID", p.getString("PAPER_ID"));
1039 1186 List<PageData> li = testpaperService.listAll(temp);
1040   - if(examTime != null){
1041   - try{
  1187 + if (examTime != null) {
  1188 + try {
1042 1189 int et = Integer.parseInt(examTime);
1043   - String min = (et / 60 ) + "" ;
1044   -// if(min.length() < 2){
1045   -// min = "0" + min ;
1046   -// }
1047   - String sec = (et % 60 ) + "" ;
1048   - if(sec.length() < 2){
1049   - sec = "0" + sec ;
  1190 + String min = (et / 60) + "";
  1191 + // if(min.length() < 2){
  1192 + // min = "0" + min ;
  1193 + // }
  1194 + String sec = (et % 60) + "";
  1195 + if (sec.length() < 2) {
  1196 + sec = "0" + sec;
1050 1197 }
1051   - if(et >= 60){
1052   - examTime = min + "时" + sec+"分";
1053   - }else{
1054   - examTime = "0时" + sec+"分";
  1198 + if (et >= 60) {
  1199 + examTime = min + "时" + sec + "分";
  1200 + } else {
  1201 + examTime = "0时" + sec + "分";
1055 1202 }
1056   - }catch(Exception e){
  1203 + } catch (Exception e) {
1057 1204 e.printStackTrace();
1058 1205 }
1059 1206 }
1060   - if(examTime == null){
  1207 + if (examTime == null) {
1061 1208 examTime = "00:00";
1062 1209 }
1063 1210 p.put("EXAM_TIME", examTime);
1064 1211 p.put("TEST_NUM", li.size());
1065 1212 }
1066   -
  1213 +
1067 1214 mv.addObject("varList", varList);
1068 1215 mv.addObject("pd", pd);
1069   - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
  1216 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限
1070 1217 return mv;
1071 1218 }
1072   -
1073   - /**列表
  1219 +
  1220 + /**
  1221 + * 列表
  1222 + *
1074 1223 * @param page
1075 1224 * @throws Exception
1076 1225 */
1077   - @RequestMapping(value="/list4")
1078   - public ModelAndView list4(Page page) throws Exception{
  1226 + @RequestMapping(value = "/list4")
  1227 + public ModelAndView list4(Page page) throws Exception {
1079 1228 ModelAndView mv = this.getModelAndView();
1080 1229 PageData pd = new PageData();
1081 1230 pd = this.getPageData();
1082   - String keywords = pd.getString("keywords"); //关键词检索条件
1083   - if(null != keywords && !"".equals(keywords)){
  1231 + String keywords = pd.getString("keywords"); // 关键词检索条件
  1232 + if (null != keywords && !"".equals(keywords)) {
1084 1233 pd.put("keywords", keywords.trim());
1085 1234 }
1086   - pd.put("PAPER_TYPE","1");
  1235 + pd.put("PAPER_TYPE", "1");
1087 1236 page.setPd(pd);
1088 1237 page.setLangIsChina(isChineseLanguageClient());
1089   - List<PageData> varList = paperService.list(page); //列出Paper列表
1090   -// pd.put("PAPER_TYPE","2");
1091   -// List<PageData> varList2 = paperService.list(page); //列出Paper列表
1092   -// varList.addAll(varList2);
1093   - if(isChineseLanguageClient()){
  1238 + List<PageData> varList = paperService.list(page); // 列出Paper列表
  1239 + // pd.put("PAPER_TYPE","2");
  1240 + // List<PageData> varList2 = paperService.list(page); //列出Paper列表
  1241 + // varList.addAll(varList2);
  1242 + if (isChineseLanguageClient()) {
1094 1243 mv.setViewName("sunvote/paper/paper_list4");
1095   - }else{
  1244 + } else {
1096 1245 mv.setViewName("sunvote/paper/en_paper_list4");
1097 1246 }
1098   -
1099   -
1100   - for(PageData p:varList){
  1247 +
  1248 + for (PageData p : varList) {
1101 1249 String examTime = p.getString("EXAM_TIME");
1102 1250 PageData temp = new PageData();
1103 1251 temp.put("PAPER_ID", p.getString("PAPER_ID"));
1104 1252 List<PageData> li = testpaperService.listAll(temp);
1105   - if(examTime != null){
1106   - try{
  1253 + if (examTime != null) {
  1254 + try {
1107 1255 int et = Integer.parseInt(examTime);
1108   - String min = (et / 60 ) + "" ;
1109   -// if(min.length() < 2){
1110   -// min = "0" + min ;
1111   -// }
1112   - String sec = (et % 60 ) + "" ;
1113   - if(sec.length() < 2){
1114   - sec = "0" + sec ;
  1256 + String min = (et / 60) + "";
  1257 + // if(min.length() < 2){
  1258 + // min = "0" + min ;
  1259 + // }
  1260 + String sec = (et % 60) + "";
  1261 + if (sec.length() < 2) {
  1262 + sec = "0" + sec;
1115 1263 }
1116   - if(et >= 60){
1117   - examTime = min + "时" + sec +"分";
1118   - }else{
1119   - examTime = "0时" + sec + "分";
  1264 + if (et >= 60) {
  1265 + examTime = min + "时" + sec + "分";
  1266 + } else {
  1267 + examTime = "0时" + sec + "分";
1120 1268 }
1121   - }catch(Exception e){
  1269 + } catch (Exception e) {
1122 1270 e.printStackTrace();
1123 1271 }
1124 1272 }
1125   - if(examTime == null){
  1273 + if (examTime == null) {
1126 1274 examTime = "0";
1127 1275 }
1128 1276 p.put("EXAM_TIME", examTime);
1129 1277 p.put("TEST_NUM", li.size());
1130 1278 }
1131   -
  1279 +
1132 1280 PageData tpd = new PageData();
1133 1281 tpd.put("ID", getUserID());
1134 1282 PageData adminInfos = v1Service.getAdminInfo(tpd);
1135   - List<PageData> gradeInfos = schoolgradesubjectService.listAllGrade(adminInfos);
1136   - List<PageData> subjectInfos = schoolgradesubjectService.listAllSubject(adminInfos);
1137   -
  1283 + List<PageData> gradeInfos = schoolgradesubjectService
  1284 + .listAllGrade(adminInfos);
  1285 + List<PageData> subjectInfos = schoolgradesubjectService
  1286 + .listAllSubject(adminInfos);
  1287 +
1138 1288 mv.addObject("gradeInfos", gradeInfos);
1139 1289 mv.addObject("subjectInfos", subjectInfos);
1140   -
  1290 +
1141 1291 mv.addObject("varList", varList);
1142 1292 mv.addObject("pd", pd);
1143   - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
  1293 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限
1144 1294 return mv;
1145 1295 }
1146   -
1147   -
1148   - /**列表
  1296 +
  1297 + /**
  1298 + * 列表
  1299 + *
1149 1300 * @param page
1150 1301 * @throws Exception
1151 1302 */
1152   - @RequestMapping(value="/list5")
1153   - public ModelAndView list5(Page page) throws Exception{
  1303 + @RequestMapping(value = "/list5")
  1304 + public ModelAndView list5(Page page) throws Exception {
1154 1305 ModelAndView mv = this.getModelAndView();
1155 1306 PageData pd = new PageData();
1156 1307 pd = this.getPageData();
1157   - String keywords = pd.getString("keywords"); //关键词检索条件
1158   - if(null != keywords && !"".equals(keywords)){
  1308 + String keywords = pd.getString("keywords"); // 关键词检索条件
  1309 + if (null != keywords && !"".equals(keywords)) {
1159 1310 pd.put("keywords", keywords.trim());
1160 1311 }
1161   - pd.put("PAPER_TYPE","2");
  1312 + pd.put("PAPER_TYPE", "2");
1162 1313 pd.put("USER_ID", this.getUserID());
1163 1314 page.setPd(pd);
1164 1315 page.setLangIsChina(isChineseLanguageClient());
1165   - List<PageData> varList = paperService.list(page); //列出Paper列表
1166   - if(isChineseLanguageClient()){
  1316 + List<PageData> varList = paperService.list(page); // 列出Paper列表
  1317 + if (isChineseLanguageClient()) {
1167 1318 mv.setViewName("sunvote/paper/paper_list5");
1168   - }else{
  1319 + } else {
1169 1320 mv.setViewName("sunvote/paper/en_paper_list5");
1170 1321 }
1171   -
1172   - for(PageData p:varList){
  1322 +
  1323 + for (PageData p : varList) {
1173 1324 String examTime = p.getString("EXAM_TIME");
1174 1325 PageData temp = new PageData();
1175 1326 temp.put("PAPER_ID", p.getString("PAPER_ID"));
1176 1327 List<PageData> li = testpaperService.listAll(temp);
1177   -
1178   - if(examTime != null){
1179   - try{
  1328 +
  1329 + if (examTime != null) {
  1330 + try {
1180 1331 int et = Integer.parseInt(examTime);
1181   - String min = (et / 60 ) + "" ;
1182   -// if(min.length() < 2){
1183   -// min = "0" + min ;
1184   -// }
1185   - String sec = (et % 60 ) + "" ;
1186   - if(sec.length() < 2){
1187   - sec = "0" + sec ;
  1332 + String min = (et / 60) + "";
  1333 + // if(min.length() < 2){
  1334 + // min = "0" + min ;
  1335 + // }
  1336 + String sec = (et % 60) + "";
  1337 + if (sec.length() < 2) {
  1338 + sec = "0" + sec;
1188 1339 }
1189   - if(et >= 60){
1190   - examTime = min + "时" + sec+"分";
1191   - }else{
1192   - examTime = "0时" + sec+"分";
  1340 + if (et >= 60) {
  1341 + examTime = min + "时" + sec + "分";
  1342 + } else {
  1343 + examTime = "0时" + sec + "分";
1193 1344 }
1194   - }catch(Exception e){
  1345 + } catch (Exception e) {
1195 1346 e.printStackTrace();
1196 1347 }
1197 1348 }
1198   - if(examTime == null){
  1349 + if (examTime == null) {
1199 1350 examTime = "0";
1200 1351 }
1201 1352 p.put("EXAM_TIME", examTime);
1202 1353 p.put("TEST_NUM", li.size());
1203 1354 }
1204   -
  1355 +
1205 1356 mv.addObject("varList", varList);
1206 1357 mv.addObject("pd", pd);
1207   - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
  1358 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限
1208 1359 return mv;
1209 1360 }
1210   -
1211   - /**列表
  1361 +
  1362 + /**
  1363 + * 列表
  1364 + *
1212 1365 * @param page
1213 1366 * @throws Exception
1214 1367 */
1215   - @RequestMapping(value="/list3")
1216   - public ModelAndView list3(Page page) throws Exception{
1217   - logBefore(logger, Jurisdiction.getUsername()+"列表Paper");
1218   - //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
  1368 + @RequestMapping(value = "/list3")
  1369 + public ModelAndView list3(Page page) throws Exception {
  1370 + logBefore(logger, Jurisdiction.getUsername() + "列表Paper");
  1371 + // if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
  1372 + // //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
1219 1373 ModelAndView mv = this.getModelAndView();
1220 1374 PageData pd = new PageData();
1221 1375 pd = this.getPageData();
1222   - String keywords = pd.getString("keywords"); //关键词检索条件
1223   - if(null != keywords && !"".equals(keywords)){
  1376 + String keywords = pd.getString("keywords"); // 关键词检索条件
  1377 + if (null != keywords && !"".equals(keywords)) {
1224 1378 pd.put("keywords", keywords.trim());
1225 1379 }
1226 1380 String userID = getUserID();
1227 1381 pd.put("USER_ID", userID);
1228   - pd.put("PAPER_TYPE","101");
  1382 + pd.put("PAPER_TYPE", "101");
1229 1383 page.setPd(pd);
1230   - List<PageData> varList = paperService.list(page); //列出Paper列表
  1384 + List<PageData> varList = paperService.list(page); // 列出Paper列表
1231 1385 mv.setViewName("sunvote/paper/paper_list2");
1232   -
1233   - for(PageData p:varList){
  1386 +
  1387 + for (PageData p : varList) {
1234 1388 String examTime = p.getString("EXAM_TIME");
1235   - if(examTime != null){
1236   - try{
  1389 + if (examTime != null) {
  1390 + try {
1237 1391 int et = Integer.parseInt(examTime);
1238   - String min = (et / 60 ) + "" ;
1239   -// if(min.length() < 2){
1240   -// min = "0" + min ;
1241   -// }
1242   - String sec = (et % 60 ) + "" ;
1243   - if(sec.length() < 2){
1244   - sec = "0" + sec ;
  1392 + String min = (et / 60) + "";
  1393 + // if(min.length() < 2){
  1394 + // min = "0" + min ;
  1395 + // }
  1396 + String sec = (et % 60) + "";
  1397 + if (sec.length() < 2) {
  1398 + sec = "0" + sec;
1245 1399 }
1246   - if(et > 60){
1247   - examTime = min + "时" + sec+"分";
1248   - }else{
1249   - examTime = "0时" + sec+"分";
  1400 + if (et > 60) {
  1401 + examTime = min + "时" + sec + "分";
  1402 + } else {
  1403 + examTime = "0时" + sec + "分";
1250 1404 }
1251   - }catch(Exception e){
  1405 + } catch (Exception e) {
1252 1406 e.printStackTrace();
1253 1407 }
1254 1408 }
1255   - if(examTime == null){
  1409 + if (examTime == null) {
1256 1410 examTime = "0";
1257 1411 }
1258 1412 p.put("EXAM_TIME", examTime);
1259 1413 }
1260   -
  1414 +
1261 1415 mv.addObject("varList", varList);
1262 1416 mv.addObject("pd", pd);
1263   - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
  1417 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限
1264 1418 return mv;
1265 1419 }
1266   -
1267   - /**去新增页面
  1420 +
  1421 + /**
  1422 + * 去新增页面
  1423 + *
1268 1424 * @param
1269 1425 * @throws Exception
1270 1426 */
1271   - @RequestMapping(value="/goAdd")
1272   - public ModelAndView goAdd()throws Exception{
  1427 + @RequestMapping(value = "/goAdd")
  1428 + public ModelAndView goAdd() throws Exception {
1273 1429 ModelAndView mv = this.getModelAndView();
1274 1430 PageData pd = new PageData();
1275 1431 pd = this.getPageData();
... ... @@ -1277,14 +1433,16 @@ public class PaperController extends BaseController {
1277 1433 mv.addObject("msg", "save");
1278 1434 mv.addObject("pd", pd);
1279 1435 return mv;
1280   - }
1281   -
1282   - /**去新增页面
  1436 + }
  1437 +
  1438 + /**
  1439 + * 去新增页面
  1440 + *
1283 1441 * @param
1284 1442 * @throws Exception
1285 1443 */
1286   - @RequestMapping(value="/goAddTest")
1287   - public ModelAndView goAddTest()throws Exception{
  1444 + @RequestMapping(value = "/goAddTest")
  1445 + public ModelAndView goAddTest() throws Exception {
1288 1446 ModelAndView mv = this.getModelAndView();
1289 1447 PageData pd = new PageData();
1290 1448 pd = this.getPageData();
... ... @@ -1292,102 +1450,112 @@ public class PaperController extends BaseController {
1292 1450 mv.addObject("msg", "newpaper");
1293 1451 mv.addObject("pd", pd);
1294 1452 return mv;
1295   - }
1296   -
1297   - /**去修改页面
  1453 + }
  1454 +
  1455 + /**
  1456 + * 去修改页面
  1457 + *
1298 1458 * @param
1299 1459 * @throws Exception
1300 1460 */
1301   - @RequestMapping(value="/goEdit")
1302   - public ModelAndView goEdit()throws Exception{
  1461 + @RequestMapping(value = "/goEdit")
  1462 + public ModelAndView goEdit() throws Exception {
1303 1463 ModelAndView mv = this.getModelAndView();
1304 1464 PageData pd = new PageData();
1305 1465 pd = this.getPageData();
1306   - pd = paperService.findById(pd); //根据ID读取
  1466 + pd = paperService.findById(pd); // 根据ID读取
1307 1467 mv.setViewName("sunvote/paper/paper_edit");
1308 1468 mv.addObject("msg", "edit");
1309 1469 mv.addObject("pd", pd);
1310 1470 return mv;
1311   - }
1312   -
1313   - /**批量删除
  1471 + }
  1472 +
  1473 + /**
  1474 + * 批量删除
  1475 + *
1314 1476 * @param
1315 1477 * @throws Exception
1316 1478 */
1317   - @RequestMapping(value="/deleteAll")
  1479 + @RequestMapping(value = "/deleteAll")
1318 1480 @ResponseBody
1319   - public Object deleteAll() throws Exception{
1320   - logBefore(logger, Jurisdiction.getUsername()+"批量删除Paper");
1321   -// if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限
1322   - PageData pd = new PageData();
1323   - Map<String,Object> map = new HashMap<String,Object>();
  1481 + public Object deleteAll() throws Exception {
  1482 + logBefore(logger, Jurisdiction.getUsername() + "批量删除Paper");
  1483 + // if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;}
  1484 + // //校验权限
  1485 + PageData pd = new PageData();
  1486 + Map<String, Object> map = new HashMap<String, Object>();
1324 1487 pd = this.getPageData();
1325 1488 List<PageData> pdList = new ArrayList<PageData>();
1326 1489 String DATA_IDS = pd.getString("DATA_IDS");
1327   - if(null != DATA_IDS && !"".equals(DATA_IDS)){
  1490 + if (null != DATA_IDS && !"".equals(DATA_IDS)) {
1328 1491 String ArrayDATA_IDS[] = DATA_IDS.split(",");
1329 1492 paperService.deleteAll(ArrayDATA_IDS);
1330 1493 paperquestionService.deleteAllPaper(ArrayDATA_IDS);
1331 1494 pd.put("msg", "ok");
1332   - }else{
  1495 + } else {
1333 1496 pd.put("msg", "no");
1334 1497 }
1335 1498 pdList.add(pd);
1336 1499 map.put("list", pdList);
1337 1500 return AppUtil.returnObject(pd, map);
1338 1501 }
1339   -
1340   - /**导出到excel
  1502 +
  1503 + /**
  1504 + * 导出到excel
  1505 + *
1341 1506 * @param
1342 1507 * @throws Exception
1343 1508 */
1344   - @RequestMapping(value="/excel")
1345   - public ModelAndView exportExcel() throws Exception{
1346   - logBefore(logger, Jurisdiction.getUsername()+"导出Paper到excel");
1347   - if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
  1509 + @RequestMapping(value = "/excel")
  1510 + public ModelAndView exportExcel() throws Exception {
  1511 + logBefore(logger, Jurisdiction.getUsername() + "导出Paper到excel");
  1512 + if (!Jurisdiction.buttonJurisdiction(menuUrl, "cha")) {
  1513 + return null;
  1514 + }
1348 1515 ModelAndView mv = new ModelAndView();
1349 1516 PageData pd = new PageData();
1350 1517 pd = this.getPageData();
1351   - Map<String,Object> dataMap = new HashMap<String,Object>();
  1518 + Map<String, Object> dataMap = new HashMap<String, Object>();
1352 1519 List<String> titles = new ArrayList<String>();
1353   - titles.add("试卷标题"); //1
1354   - titles.add("出卷老师"); //2
1355   - titles.add("试卷类型"); //3
1356   - titles.add("科目"); //4
1357   - titles.add("年级"); //5
1358   - titles.add("学校"); //6
1359   - titles.add("创建时间"); //7
1360   - titles.add("修改时间"); //8
1361   - titles.add("建议考试时长"); //9
1362   - titles.add("试卷状态"); //10
1363   - titles.add("备注"); //11
  1520 + titles.add("试卷标题"); // 1
  1521 + titles.add("出卷老师"); // 2
  1522 + titles.add("试卷类型"); // 3
  1523 + titles.add("科目"); // 4
  1524 + titles.add("年级"); // 5
  1525 + titles.add("学校"); // 6
  1526 + titles.add("创建时间"); // 7
  1527 + titles.add("修改时间"); // 8
  1528 + titles.add("建议考试时长"); // 9
  1529 + titles.add("试卷状态"); // 10
  1530 + titles.add("备注"); // 11
1364 1531 dataMap.put("titles", titles);
1365 1532 List<PageData> varOList = paperService.listAll(pd);
1366 1533 List<PageData> varList = new ArrayList<PageData>();
1367   - for(int i=0;i<varOList.size();i++){
  1534 + for (int i = 0; i < varOList.size(); i++) {
1368 1535 PageData vpd = new PageData();
1369   - vpd.put("var1", varOList.get(i).getString("TITLE")); //1
1370   - vpd.put("var2", varOList.get(i).getString("USER_ID")); //2
1371   - vpd.put("var3", varOList.get(i).getString("PAPER_TYPE")); //3
1372   - vpd.put("var4", varOList.get(i).getString("SUBJECT_ID")); //4
1373   - vpd.put("var5", varOList.get(i).getString("GRADE_ID")); //5
1374   - vpd.put("var6", varOList.get(i).getString("SCHOOL_ID")); //6
1375   - vpd.put("var7", varOList.get(i).getString("CREATE_DATE")); //7
1376   - vpd.put("var8", varOList.get(i).getString("MODIFY_DATE")); //8
1377   - vpd.put("var9", varOList.get(i).getString("EXAM_TIME")); //9
1378   - vpd.put("var10", varOList.get(i).getString("PAPER_STATE")); //10
1379   - vpd.put("var11", varOList.get(i).getString("REMARK")); //11
  1536 + vpd.put("var1", varOList.get(i).getString("TITLE")); // 1
  1537 + vpd.put("var2", varOList.get(i).getString("USER_ID")); // 2
  1538 + vpd.put("var3", varOList.get(i).getString("PAPER_TYPE")); // 3
  1539 + vpd.put("var4", varOList.get(i).getString("SUBJECT_ID")); // 4
  1540 + vpd.put("var5", varOList.get(i).getString("GRADE_ID")); // 5
  1541 + vpd.put("var6", varOList.get(i).getString("SCHOOL_ID")); // 6
  1542 + vpd.put("var7", varOList.get(i).getString("CREATE_DATE")); // 7
  1543 + vpd.put("var8", varOList.get(i).getString("MODIFY_DATE")); // 8
  1544 + vpd.put("var9", varOList.get(i).getString("EXAM_TIME")); // 9
  1545 + vpd.put("var10", varOList.get(i).getString("PAPER_STATE")); // 10
  1546 + vpd.put("var11", varOList.get(i).getString("REMARK")); // 11
1380 1547 varList.add(vpd);
1381 1548 }
1382 1549 dataMap.put("varList", varList);
1383 1550 ObjectExcelView erv = new ObjectExcelView();
1384   - mv = new ModelAndView(erv,dataMap);
  1551 + mv = new ModelAndView(erv, dataMap);
1385 1552 return mv;
1386 1553 }
1387   -
  1554 +
1388 1555 @InitBinder
1389   - public void initBinder(WebDataBinder binder){
  1556 + public void initBinder(WebDataBinder binder) {
1390 1557 DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
1391   - binder.registerCustomEditor(Date.class, new CustomDateEditor(format,true));
  1558 + binder.registerCustomEditor(Date.class, new CustomDateEditor(format,
  1559 + true));
1392 1560 }
1393 1561 }
... ...
src/com/fh/util/ObjectExcelView2.java
... ... @@ -60,36 +60,38 @@ public class ObjectExcelView2 extends AbstractExcelView{
60 60 contentStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
61 61 List<PageData> varList = (List<PageData>) model.get("varList");
62 62 int varCount = varList.size();
  63 + Integer test_num =0;
63 64 for(int i=0; i<varCount; i++){
64 65 PageData vpd = varList.get(i);
  66 + List<String> score = (List<String>)vpd.get("var6");
65 67  
66 68 for(int j=0;j<len;j++){
67 69 if(j<5){
68   - List<String> score = (List<String>)vpd.get("var6");
69   - if(score.size()>0){
70   - CellRangeAddress region = new CellRangeAddress(i*score.size()+1, i*score.size()+score.size(), j, j);
  70 +
  71 + if(score.size()>1){
  72 + CellRangeAddress region = new CellRangeAddress(test_num+1, test_num+score.size(), j, j);
71 73 sheet.addMergedRegion(region);
72 74 }
73 75  
74 76 String varstr = vpd.getString("var"+(j+1)) != null ? vpd.getString("var"+(j+1)) : "";
75   - cell = getCell(sheet, i*score.size()+1, j);
  77 + cell = getCell(sheet, test_num+1, j);
76 78 cell.setCellStyle(contentStyle);
77 79 setText(cell,varstr);
78 80 }else{
79   - List<String> score = (List<String>)vpd.get("var6");
  81 + //List<String> score = (List<String>)vpd.get("var6");
80 82 for(int x=0;x<score.size();x++){
81 83 String varstr = vpd.getString("var"+(j+1)) != null ? vpd.getString("var"+(j+1)) : "";
82 84 varstr = varstr.replace("[", "");
83 85 varstr = varstr.replace("]", "");
84 86 String[] s = varstr.split(",");
85   - cell = getCell(sheet, i*score.size()+1+x, j);
  87 + cell = getCell(sheet, test_num+1+x, j);
86 88 cell.setCellStyle(contentStyle);
87 89 setText(cell,s[x]);
88 90 }
89 91  
90 92 }
91 93 }
92   -
  94 + test_num = score.size()+test_num;
93 95 }
94 96  
95 97 }
... ...