diff --git a/src/com/fh/controller/sunvote/paper/PaperController.java b/src/com/fh/controller/sunvote/paper/PaperController.java index 2e882c8..38e3cf1 100644 --- a/src/com/fh/controller/sunvote/paper/PaperController.java +++ b/src/com/fh/controller/sunvote/paper/PaperController.java @@ -51,98 +51,105 @@ import com.fh.util.ObjectExcelView; import com.fh.util.ObjectExcelView2; import com.fh.util.PageData; -/** - * 说明:试卷 - * 创建时间:2018-05-17 +/** + * 说明:试卷 创建时间:2018-05-17 */ @Controller -@RequestMapping(value="/paper") +@RequestMapping(value = "/paper") public class PaperController extends BaseController { - - String menuUrl = "paper/list.do"; //菜单地址(权限用) - @Resource(name="paperService") + + String menuUrl = "paper/list.do"; // 菜单地址(权限用) + @Resource(name = "paperService") private PaperManager paperService; - - @Resource(name="testpaperService") + + @Resource(name = "testpaperService") private TestPaperManager testpaperService; - - @Resource(name="testpaperinfoService") + + @Resource(name = "testpaperinfoService") private TestPaperInfoManager testpaperinfoService; - - @Resource(name="studentService") + + @Resource(name = "studentService") private StudentManager stundentService; - - @Resource(name="paperquestionService") + + @Resource(name = "paperquestionService") private PaperQuestionManager paperquestionService; - - @Resource(name="questionService") + + @Resource(name = "questionService") private QuestionManager questionService; - + @Resource(name = "v1Service") - private V1Manager v1Service ; - - @Resource(name="schoolgradesubjectService") + private V1Manager v1Service; + + @Resource(name = "schoolgradesubjectService") private SchoolGradeSubjectManager schoolgradesubjectService; - - @Resource(name="pagetemplateService") + + @Resource(name = "pagetemplateService") private PageTemplateManager pagetemplateService; - - @Resource(name="studenttestService") + + @Resource(name = "studenttestService") private StudentTestManager studenttestService; - - @Resource(name="sclassService") + + @Resource(name = "sclassService") private SClassManager sclassService; - - /**保存 + + /** + * 保存 + * * @param * @throws Exception */ - @RequestMapping(value="/save") - public ModelAndView save() throws Exception{ - logBefore(logger, Jurisdiction.getUsername()+"新增Paper"); - if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限 + @RequestMapping(value = "/save") + public ModelAndView save() throws Exception { + logBefore(logger, Jurisdiction.getUsername() + "新增Paper"); + if (!Jurisdiction.buttonJurisdiction(menuUrl, "add")) { + return null; + } // 校验权限 ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); - pd.put("PAPER_ID", this.get32UUID()); //主键 + pd.put("PAPER_ID", this.get32UUID()); // 主键 paperService.save(pd); - mv.addObject("msg","success"); + mv.addObject("msg", "success"); mv.setViewName("save_result"); return mv; } - - /**保存 + + /** + * 保存 + * * @param * @throws Exception */ - @RequestMapping(value="/newpaper") - public ModelAndView newPaper() throws Exception{ - logBefore(logger, Jurisdiction.getUsername()+"新增Paper"); + @RequestMapping(value = "/newpaper") + public ModelAndView newPaper() throws Exception { + logBefore(logger, Jurisdiction.getUsername() + "新增Paper"); ModelAndView mv = this.getModelAndView(); - - mv.addObject("msg","success"); + + mv.addObject("msg", "success"); mv.setViewName("save_result"); return mv; } - - /**删除 + + /** + * 删除 + * * @param out * @throws Exception */ - @RequestMapping(value="/delete") - public void delete(PrintWriter out) throws Exception{ - logBefore(logger, Jurisdiction.getUsername()+"删除Paper"); + @RequestMapping(value = "/delete") + public void delete(PrintWriter out) throws Exception { + logBefore(logger, Jurisdiction.getUsername() + "删除Paper"); PageData pd = new PageData(); pd = this.getPageData(); - String[] ArrayDATA_IDS = new String[]{pd.getString("PAPER_ID")}; - if(pd.getString("QINGSONGKAO") != null){ + String[] ArrayDATA_IDS = new String[] { pd.getString("PAPER_ID") }; + if (pd.getString("QINGSONGKAO") != null) { List list = paperquestionService.listAll(pd); String[] qids = new String[list.size()]; - int i = 0 ; - for(PageData ptd : list){ + int i = 0; + for (PageData ptd : list) { qids[i++] = ptd.getString("QUESTION_ID"); } - if(qids.length > 0){ + if (qids.length > 0) { questionService.deleteAll(qids); } } @@ -151,77 +158,93 @@ public class PaperController extends BaseController { out.write("success"); out.close(); } - - /**修改 + + /** + * 修改 + * * @param * @throws Exception */ - @RequestMapping(value="/edit") - public ModelAndView edit() throws Exception{ - logBefore(logger, Jurisdiction.getUsername()+"修改Paper"); - if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限 + @RequestMapping(value = "/edit") + public ModelAndView edit() throws Exception { + logBefore(logger, Jurisdiction.getUsername() + "修改Paper"); + if (!Jurisdiction.buttonJurisdiction(menuUrl, "edit")) { + return null; + } // 校验权限 ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); paperService.edit(pd); - mv.addObject("msg","success"); + mv.addObject("msg", "success"); mv.setViewName("save_result"); return mv; } - - /**列表 + + /** + * 列表 + * * @param page * @throws Exception */ - @RequestMapping(value="/list") - public ModelAndView list(Page page) throws Exception{ - logBefore(logger, Jurisdiction.getUsername()+"列表Paper"); - //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) + @RequestMapping(value = "/list") + public ModelAndView list(Page page) throws Exception { + logBefore(logger, Jurisdiction.getUsername() + "列表Paper"); + // if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} + // //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); - String keywords = pd.getString("keywords"); //关键词检索条件 - if(null != keywords && !"".equals(keywords)){ + String keywords = pd.getString("keywords"); // 关键词检索条件 + if (null != keywords && !"".equals(keywords)) { pd.put("keywords", keywords.trim()); } page.setPd(pd); - List varList = paperService.list(page); //列出Paper列表 + List varList = paperService.list(page); // 列出Paper列表 mv.setViewName("sunvote/paper/paper_list"); mv.addObject("varList", varList); mv.addObject("pd", pd); - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限 return mv; } - - @RequestMapping(value="/paperRep") - public ModelAndView paperRep() throws Exception{ + + @RequestMapping(value = "/paperRep") + public ModelAndView paperRep() throws Exception { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); List templist = new ArrayList(); PageData saveData = new PageData(); - DecimalFormat decimalFormat=new DecimalFormat("0.00"); + DecimalFormat decimalFormat = new DecimalFormat("0.00"); String total_score = ""; ResponseGson res = new ResponseGson(); pd = this.getPageData(); - if(pd.containsKey("PAPER_ID")){ + if (pd.containsKey("PAPER_ID")) { List list = testpaperService.listAll(pd); total_score = list.get(0).getString("TOTAL_SCORE"); pd.put("testpaperlist", list); - Integer you_sum = 0; //优秀总人数 - Integer liang_sum = 0; //良好总人数 - Integer jige_sum = 0; //及格总人数 - Integer difen_sum = 0; //低分总人数 - Integer num_sum =0; //年级总人数 - Float avg_sum = (float)0; //平均分的和 + Integer you_sum = 0; // 优秀总人数 + Integer liang_sum = 0; // 良好总人数 + Integer jige_sum = 0; // 及格总人数 + Integer difen_sum = 0; // 低分总人数 + Integer num_sum = 0; // 年级总人数 + Float avg_sum = (float) 0; // 平均分的和 String testpaperList = ""; - - for(int i = 0 ;i studentlist = stundentService.listAllClass(pdtemp); - testpaperList+=list.get(i).get("TESTPAPER_ID").toString()+","; + if (!list.get(i).getString("SCLASS_ID").isEmpty()) { + pdtemp.put("CLASS_ID", list.get(i).get("SCLASS_ID") + .toString()); + } else { + pdtemp.put("CLASS_ID", ""); + + } + + List studentlist = stundentService + .listAllClass(pdtemp); + testpaperList += list.get(i).get("TESTPAPER_ID").toString() + + ","; data.put("testpaper_id", list.get(i).get("TESTPAPER_ID")); data.put("student_num", studentlist.size()); data.put("creat_time", list.get(i).get("CREATE_DATE")); @@ -229,89 +252,91 @@ public class PaperController extends BaseController { data.put("class_id", list.get(i).get("SCLASS_ID")); pdtemp.put("TEST_ID", list.get(i).get("TESTPAPER_ID")); List l = studenttestService.listAll(pdtemp); - + Integer you = 0; Integer liang = 0; Integer jige = 0; Integer difen = 0; - Float total = Float.valueOf(list.get(i).get("TOTAL_SCORE").toString()); - - for(int j = 0; j=0.8){ + Float total = Float.valueOf(list.get(i).get("TOTAL_SCORE") + .toString()); + + for (int j = 0; j < l.size(); j++) { + Float score = Float.valueOf(l.get(j).get("SCORE") + .toString()); + if (total != 0) { + if (score / total >= 0.8) { you++; - }else if(score/total>=0.7){ + } else if (score / total >= 0.7) { liang++; - }else if(score/total>=0.6){ + } else if (score / total >= 0.6) { jige++; - }else if(score/total<0.3){ + } else if (score / total < 0.3) { difen++; } } - + } - you_sum+=you; + you_sum += you; liang_sum += liang; - jige_sum+=jige; - difen_sum+=difen; - num_sum+=studentlist.size(); - avg_sum+=Float.valueOf(list.get(i).get("AVG_SCORE").toString()); - - data.put("you",you); - data.put("liang",liang); - data.put("jige",jige); - data.put("difen",difen); - + jige_sum += jige; + difen_sum += difen; + num_sum += studentlist.size(); + avg_sum += Float.valueOf(list.get(i).get("AVG_SCORE") + .toString()); + + data.put("you", you); + data.put("liang", liang); + data.put("jige", jige); + data.put("difen", difen); + templist.add(data); } - if(list.size()>0){ - PageData dataTemp = new PageData(); - dataTemp.put("testpaper_id", ""); - dataTemp.put("student_num", num_sum); - dataTemp.put("creat_time", ""); - dataTemp.put("avg_score", decimalFormat.format(avg_sum/list.size())); - dataTemp.put("class_id", ""); - dataTemp.put("you",you_sum); - dataTemp.put("liang",liang_sum); - dataTemp.put("jige",jige_sum); - dataTemp.put("difen",difen_sum); - dataTemp.put("testpaperList", testpaperList); - templist.add(dataTemp); + if (list.size() > 0) { + PageData dataTemp = new PageData(); + dataTemp.put("testpaper_id", ""); + dataTemp.put("student_num", num_sum); + dataTemp.put("creat_time", ""); + dataTemp.put("avg_score", + decimalFormat.format(avg_sum / list.size())); + dataTemp.put("class_id", ""); + dataTemp.put("you", you_sum); + dataTemp.put("liang", liang_sum); + dataTemp.put("jige", jige_sum); + dataTemp.put("difen", difen_sum); + dataTemp.put("testpaperList", testpaperList); + templist.add(dataTemp); } } - - - + saveData.put("list", templist); pd.put("TOTAL_SCORE", total_score); mv.setViewName("sunvote/paper/test_list1"); mv.addObject("varList", templist); - mv.addObject("pd",pd); + mv.addObject("pd", pd); res.setData(saveData); return mv; } - - @RequestMapping(value="/export1") - public ModelAndView export1() throws Exception{ + + @RequestMapping(value = "/export1") + public ModelAndView export1() throws Exception { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); List templist = new ArrayList(); PageData saveData = new PageData(); - - + ResponseGson res = new ResponseGson(); pd = this.getPageData(); - if(pd.containsKey("PAPER_ID")){ + if (pd.containsKey("PAPER_ID")) { List list = testpaperService.listAll(pd); - + pd.put("testpaperlist", list); - for(int i = 0 ;i studentlist = stundentService.listAllClass(pdtemp); + List studentlist = stundentService + .listAllClass(pdtemp); data.put("testpaper_id", list.get(i).get("TESTPAPER_ID")); data.put("student_num", studentlist.size()); data.put("creat_time", list.get(i).get("CREATE_DATE")); @@ -319,957 +344,1088 @@ public class PaperController extends BaseController { data.put("class_id", list.get(i).get("SCLASS_ID")); pdtemp.put("TEST_ID", list.get(i).get("TESTPAPER_ID")); List l = studenttestService.listAll(pdtemp); - + Integer you = 0; Integer liang = 0; Integer jige = 0; Integer difen = 0; - Float total = Float.valueOf(list.get(i).get("TOTAL_SCORE").toString()); - - for(int j = 0; j=0.8){ + Float total = Float.valueOf(list.get(i).get("TOTAL_SCORE") + .toString()); + + for (int j = 0; j < l.size(); j++) { + Float score = Float.valueOf(l.get(j).get("SCORE") + .toString()); + if (total != 0) { + if (score / total >= 0.8) { you++; - }else if(score/total>=0.7){ + } else if (score / total >= 0.7) { liang++; - }else if(score/total>=0.6){ + } else if (score / total >= 0.6) { jige++; - }else if(score/total<0.3){ + } else if (score / total < 0.3) { difen++; } } - + } - - data.put("you",you); - data.put("liang",liang); - data.put("jige",jige); - data.put("difen",difen); - + + data.put("you", you); + data.put("liang", liang); + data.put("jige", jige); + data.put("difen", difen); + templist.add(data); } } - Map dataMap = new HashMap(); + Map dataMap = new HashMap(); List titles = new ArrayList(); - titles.add("序号"); //1 - titles.add("班级名称"); //2 - titles.add("考试时间"); //3 - titles.add("平均分"); //4 - titles.add("班级总人数"); //5 - titles.add("优秀人数"); //6 - titles.add("优秀率"); //7 - titles.add("良好人数"); //8 - titles.add("良好率"); //9 - titles.add("及格人数"); //10 - titles.add("及格率"); //11 - titles.add("低分人数"); //12 - titles.add("低分率"); //13 + titles.add("序号"); // 1 + titles.add("班级名称"); // 2 + titles.add("考试时间"); // 3 + titles.add("平均分"); // 4 + titles.add("班级总人数"); // 5 + titles.add("优秀人数"); // 6 + titles.add("优秀率"); // 7 + titles.add("良好人数"); // 8 + titles.add("良好率"); // 9 + titles.add("及格人数"); // 10 + titles.add("及格率"); // 11 + titles.add("低分人数"); // 12 + titles.add("低分率"); // 13 dataMap.put("titles", titles); List varOList = templist; List varList = new ArrayList(); - DecimalFormat decimalFormat=new DecimalFormat("0.00"); - for(int i=0;i templist = new ArrayList(); PageData saveData = new PageData(); - + ResponseGson res = new ResponseGson(); pd = this.getPageData(); - if(pd.containsKey("PAPER_ID")){ + if (pd.containsKey("PAPER_ID")) { List list = paperquestionService.listAll(pd); List test = new ArrayList(); int onum[] = new int[list.size()]; - - for(int i = 0;i queInfo = testpaperinfoService.listTestPaperQuestionIDinfo(temp); - int answer[] = new int[option_num+1]; + + List queInfo = testpaperinfoService + .listTestPaperQuestionIDinfo(temp); + int answer[] = new int[option_num + 1]; int right = 0; int lost = 0; - for(int j=0;j-1){ + if (queInfo.get(j).get("ANSWER") != null + && !queInfo.get(j).get("ANSWER").toString() + .isEmpty()) { + for (int o = 0; o < option_num; o++) { + String s = String.valueOf((char) (65 + o)); + if (queInfo.get(j).get("ANSWER").toString() + .indexOf(s) > -1) { answer[o]++; } - } - } - else{ + } + } else { answer[option_num]++; } } temp.put("RIGHTNUM", right); - temp.put("ANSWERNUM",(queInfo.size()-lost)); - temp.put("ANSWERNUM2",queInfo.size()); + temp.put("ANSWERNUM", (queInfo.size() - lost)); + temp.put("ANSWERNUM2", queInfo.size()); temp.put("optin_info", answer); templist.add(temp); } Arrays.sort(onum); - int max = onum[onum.length-1]; - pd.put("MAX",max); - } - - Collections.sort(templist,new Comparator(){ + int max = onum[onum.length - 1]; + pd.put("MAX", max); + } + + Collections.sort(templist, new Comparator() { @Override public int compare(PageData o1, PageData o2) { - Integer o1GetScore = Integer.valueOf(o1.getString("QUESTION_RANK")); - Integer o2GetScore = Integer.valueOf(o2.getString("QUESTION_RANK")); + Integer o1GetScore = Integer.valueOf(o1 + .getString("QUESTION_RANK")); + Integer o2GetScore = Integer.valueOf(o2 + .getString("QUESTION_RANK")); return o1GetScore.compareTo(o2GetScore); } - + }); mv.setViewName("sunvote/paper/test_list2"); mv.addObject("varList", templist); - mv.addObject("pd",pd); + mv.addObject("pd", pd); res.setData(saveData); return mv; } - - @RequestMapping(value="/export2") - public ModelAndView export2() throws Exception{ + + @RequestMapping(value = "/export2") + public ModelAndView export2() throws Exception { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); List templist = new ArrayList(); PageData saveData = new PageData(); - + ResponseGson res = new ResponseGson(); pd = this.getPageData(); - if(pd.containsKey("PAPER_ID")){ + if (pd.containsKey("PAPER_ID")) { List list = paperquestionService.listAll(pd); List test = new ArrayList(); int onum[] = new int[list.size()]; - - for(int i = 0;i queInfo = testpaperinfoService.listTestPaperQuestionIDinfo(temp); - int answer[] = new int[option_num+1]; + List queInfo = testpaperinfoService + .listTestPaperQuestionIDinfo(temp); + int answer[] = new int[option_num + 1]; int right = 0; int lost = 0; - for(int j=0;j(){ + int max = onum[onum.length - 1]; + pd.put("MAX", max); + } + + Collections.sort(templist, new Comparator() { @Override public int compare(PageData o1, PageData o2) { - Integer o1GetScore = Integer.valueOf(o1.getString("QUESTION_RANK")); - Integer o2GetScore = Integer.valueOf(o2.getString("QUESTION_RANK")); + Integer o1GetScore = Integer.valueOf(o1 + .getString("QUESTION_RANK")); + Integer o2GetScore = Integer.valueOf(o2 + .getString("QUESTION_RANK")); return o1GetScore.compareTo(o2GetScore); } - + }); - -// mv.addObject("varList", templist); -// mv.addObject("pd",pd); - - Map dataMap = new HashMap(); + // mv.addObject("varList", templist); + // mv.addObject("pd",pd); + + Map dataMap = new HashMap(); List titles = new ArrayList(); - titles.add("题号"); //1 - titles.add("答案"); //2 - titles.add("答题人数"); //3 - titles.add("正确人数"); //4 - titles.add("正确率"); //5 - titles.add("满分值"); //6 - titles.add("平均分"); //7 + titles.add("题号"); // 1 + titles.add("答案"); // 2 + titles.add("答题人数"); // 3 + titles.add("正确人数"); // 4 + titles.add("正确率"); // 5 + titles.add("满分值"); // 6 + titles.add("平均分"); // 7 Integer max = Integer.valueOf(pd.getString("MAX")); - for(int x = 0 ;x varOList = templist; List varList = new ArrayList(); - DecimalFormat decimalFormat=new DecimalFormat("0.00"); - for(int i=0;i optoin = Arrays.asList(s.split(",")); - for(int y = 0 ;y optoin = Arrays.asList(s.split(",")); + for (int y = 0; y < max; y++) { Integer nn = 0; - if((optoin.size()-1)>y){ + if ((optoin.size() - 1) > y) { nn = Integer.valueOf(optoin.get(y)); - }else{ + } else { break; } - vpd.put("var"+(8+2*y), nn); //8 - vpd.put("var"+(9+2*y), decimalFormat.format(nn*100/Double.valueOf(varOList.get(i).getString("ANSWERNUM")))+"%"); //9 - + vpd.put("var" + (8 + 2 * y), nn); // 8 + vpd.put("var" + (9 + 2 * y), + decimalFormat.format(nn + * 100 + / Double.valueOf(varOList.get(i).getString( + "ANSWERNUM"))) + + "%"); // 9 + } - - vpd.put("var"+(max*2+8), Integer.valueOf(optoin.get(optoin.size()-1))); //8 - vpd.put("var"+(max*2+9), decimalFormat.format(Double.valueOf(optoin.get(optoin.size()-1))*100/Double.valueOf(varOList.get(i).getString("ANSWERNUM2")))+"%"); //9 - + + vpd.put("var" + (max * 2 + 8), + Integer.valueOf(optoin.get(optoin.size() - 1))); // 8 + vpd.put("var" + (max * 2 + 9), + decimalFormat.format(Double.valueOf(optoin.get(optoin + .size() - 1)) + * 100 + / Double.valueOf(varOList.get(i).getString( + "ANSWERNUM2"))) + + "%"); // 9 + varList.add(vpd); } dataMap.put("varList", varList); ObjectExcelView erv = new ObjectExcelView(); - mv = new ModelAndView(erv,dataMap); - + mv = new ModelAndView(erv, dataMap); return mv; } - + /** * 按学生分析 + * * @return * @throws Exception */ - @RequestMapping(value="/paperRep3") - public ModelAndView paperRep3() throws Exception{ + @RequestMapping(value = "/paperRep3") + public ModelAndView paperRep3() throws Exception { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); List temp = new ArrayList(); PageData saveData = new PageData(); - + ResponseGson res = new ResponseGson(); pd = this.getPageData(); - if(pd.containsKey("PAPER_ID")){ - + if (pd.containsKey("PAPER_ID")) { + List list = studenttestService.findTestInfoByPid(pd); PageData paper = paperService.findById(pd); - if(paper!=null){ + if (paper != null) { pd.put("SCORE", paper.get("SCORE")); pd.put("PAPER_NAME", paper.get("TITLE")); } List sid = new ArrayList(); Integer test_num = 0; Integer lost_num = 0; - for(PageData item : list){ - - Integer index = this.indexOfStrInList(sid, item.getString("STUDENT_ID")); - if(index!=-1){ - + for (PageData item : list) { + + PageData p = new PageData(); + p.put("ID", item.getString("STUDENT_ID")); + PageData student = stundentService.findById(p); + if (student != null) { + Integer index = this.indexOfStrInList(sid, + item.getString("STUDENT_ID")); + if (index != -1) { + test_num++; - List test_list = (List) temp.get(index).get("TEST_LIST"); + List test_list = (List) temp.get( + index).get("TEST_LIST"); PageData test = new PageData(); test.put("CREATE_DATE", item.get("CREATE_DATE")); - if(item.getString("LOST_TEST").isEmpty()){ + if (item.getString("LOST_TEST").isEmpty()) { test.put("SCORE", item.get("SCORE")); - }else{ + } else { test.put("SCORE", "--"); - temp.get(index).put("LOST_NUM", Integer.valueOf(temp.get(index).getString("LOST_NUM"))+1); + temp.get(index).put( + "LOST_NUM", + Integer.valueOf(temp.get(index).getString( + "LOST_NUM")) + 1); } test.put("AVG_SCORE", item.get("AVG_SCORE")); test_list.add(test); - Float total = Float.valueOf(temp.get(index).getString("STUDENT_TOTAL")); - temp.get(index).put("STUDENT_TOTAL",total+Float.valueOf(item.getString("SCORE"))); + Float total = Float.valueOf(temp.get(index).getString( + "STUDENT_TOTAL")); + temp.get(index).put("STUDENT_TOTAL", + total + Float.valueOf(item.getString("SCORE"))); temp.get(index).put("TEST_LIST", test_list); - temp.get(index).put("TEST_NUM", test_list.size()-Integer.valueOf(temp.get(index).getString("LOST_NUM"))); - - }else{ - test_num=1; - lost_num=0; - PageData stu = new PageData(); - stu.put("STUDENT_NAME", item.get("STUDENT_NAME")); - stu.put("CLASS_NAME", item.get("CLASS_NAME")); - List testList = new ArrayList(); - PageData test = new PageData(); - test.put("CREATE_DATE", item.get("CREATE_DATE")); - if(item.getString("LOST_TEST").isEmpty()){ - test.put("SCORE", item.get("SCORE")); - }else{ - test.put("SCORE", "--"); - lost_num++; + temp.get(index).put( + "TEST_NUM", + test_list.size() + - Integer.valueOf(temp.get(index) + .getString("LOST_NUM"))); + + } else { + test_num = 1; + lost_num = 0; + PageData stu = new PageData(); + stu.put("STUDENT_NAME", item.get("STUDENT_NAME")); + stu.put("CLASS_NAME", item.get("CLASS_NAME")); + List testList = new ArrayList(); + PageData test = new PageData(); + test.put("CREATE_DATE", item.get("CREATE_DATE")); + if (item.getString("LOST_TEST").isEmpty()) { + test.put("SCORE", item.get("SCORE")); + } else { + test.put("SCORE", "--"); + lost_num++; + } + test.put("AVG_SCORE", item.get("AVG_SCORE")); + testList.add(test); + stu.put("STUDENT_TOTAL", item.get("SCORE")); + stu.put("TEST_LIST", testList); + stu.put("TEST_NUM", testList.size() - lost_num); + stu.put("LOST_NUM", lost_num); + sid.add(item.getString("STUDENT_ID")); + temp.add(stu); } - test.put("AVG_SCORE", item.get("AVG_SCORE")); - testList.add(test); - stu.put("STUDENT_TOTAL",item.get("SCORE")); - stu.put("TEST_LIST", testList); - stu.put("TEST_NUM", testList.size()-lost_num); - stu.put("LOST_NUM", lost_num); - sid.add(item.getString("STUDENT_ID")); - temp.add(stu); } - } } - Collections.sort(temp,new Comparator(){ + Collections.sort(temp, new Comparator() { @Override public int compare(PageData o1, PageData o2) { - Float o1GetScore = Float.valueOf(o1.getString("STUDENT_TOTAL"))/Float.valueOf(o1.getString("TEST_NUM")); - Float o2GetScore = Float.valueOf(o2.getString("STUDENT_TOTAL"))/Float.valueOf(o2.getString("TEST_NUM")); + + Float o1GetScore = Float.valueOf(o1.getString("TEST_NUM")) == 0 ? 0 + : Float.valueOf(o1.getString("STUDENT_TOTAL")) + / Float.valueOf(o1.getString("TEST_NUM")); + Float o2GetScore = Float.valueOf(o2.getString("TEST_NUM")) == 0 ? 0 + : Float.valueOf(o2.getString("STUDENT_TOTAL")) + / Float.valueOf(o2.getString("TEST_NUM")); return o2GetScore.compareTo(o1GetScore); } - + }); mv.setViewName("sunvote/paper/test_list3"); mv.addObject("varList", temp); - mv.addObject("pd",pd); + mv.addObject("pd", pd); res.setData(saveData); return mv; } - - - @RequestMapping(value="/export3") - public ModelAndView export3() throws Exception{ + + @RequestMapping(value = "/export3") + public ModelAndView export3() throws Exception { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); List temp = new ArrayList(); PageData saveData = new PageData(); - + ResponseGson res = new ResponseGson(); pd = this.getPageData(); - if(pd.containsKey("PAPER_ID")){ - + if (pd.containsKey("PAPER_ID")) { + List list = studenttestService.findTestInfoByPid(pd); PageData paper = paperService.findById(pd); - if(paper!=null){ + if (paper != null) { pd.put("SCORE", paper.get("SCORE")); pd.put("PAPER_NAME", paper.get("TITLE")); } List sid = new ArrayList(); Integer test_num = 0; Integer lost_num = 0; - for(PageData item : list){ - - Integer index = this.indexOfStrInList(sid, item.getString("STUDENT_ID")); - if(index!=-1){ - - test_num++; - List test_list = (List) temp.get(index).get("TEST_LIST"); - PageData test = new PageData(); - test.put("CREATE_DATE", item.get("CREATE_DATE")); - if(item.getString("LOST_TEST").isEmpty()){ - test.put("SCORE", item.get("SCORE")); - }else{ - test.put("SCORE", "--"); - temp.get(index).put("LOST_NUM", Integer.valueOf(temp.get(index).getString("LOST_NUM"))+1); - } - test.put("AVG_SCORE", item.get("AVG_SCORE")); - test_list.add(test); - Float total = Float.valueOf(temp.get(index).getString("STUDENT_TOTAL")); - temp.get(index).put("STUDENT_TOTAL",total+Float.valueOf(item.getString("SCORE"))); - temp.get(index).put("TEST_LIST", test_list); - temp.get(index).put("TEST_NUM", test_list.size()-Integer.valueOf(temp.get(index).getString("LOST_NUM"))); - - }else{ - test_num=1; - lost_num=0; + for (PageData item : list) { + PageData p = new PageData(); + p.put("ID", item.getString("STUDENT_ID")); + PageData student = stundentService.findById(p); + if (student != null) { + Integer index = this.indexOfStrInList(sid, + item.getString("STUDENT_ID")); + if (index != -1) { + + test_num++; + List test_list = (List) temp.get(index) + .get("TEST_LIST"); + PageData test = new PageData(); + test.put("CREATE_DATE", item.get("CREATE_DATE")); + if (item.getString("LOST_TEST").isEmpty()) { + test.put("SCORE", item.get("SCORE")); + } else { + test.put("SCORE", "--"); + temp.get(index).put( + "LOST_NUM", + Integer.valueOf(temp.get(index).getString( + "LOST_NUM")) + 1); + } + test.put("AVG_SCORE", item.get("AVG_SCORE")); + test_list.add(test); + Float total = Float.valueOf(temp.get(index).getString( + "STUDENT_TOTAL")); + temp.get(index).put("STUDENT_TOTAL", + total + Float.valueOf(item.getString("SCORE"))); + temp.get(index).put("TEST_LIST", test_list); + temp.get(index).put( + "TEST_NUM", + test_list.size() + - Integer.valueOf(temp.get(index) + .getString("LOST_NUM"))); + + } else { + test_num = 1; + lost_num = 0; PageData stu = new PageData(); stu.put("STUDENT_NAME", item.get("STUDENT_NAME")); stu.put("CLASS_NAME", item.get("CLASS_NAME")); List testList = new ArrayList(); PageData test = new PageData(); test.put("CREATE_DATE", item.get("CREATE_DATE")); - if(item.getString("LOST_TEST").isEmpty()){ + if (item.getString("LOST_TEST").isEmpty()) { test.put("SCORE", item.get("SCORE")); - }else{ + } else { test.put("SCORE", "--"); lost_num++; } test.put("AVG_SCORE", item.get("AVG_SCORE")); testList.add(test); - stu.put("STUDENT_TOTAL",item.get("SCORE")); + stu.put("STUDENT_TOTAL", item.get("SCORE")); stu.put("TEST_LIST", testList); - stu.put("TEST_NUM", testList.size()-lost_num); + stu.put("TEST_NUM", testList.size() - lost_num); stu.put("LOST_NUM", lost_num); sid.add(item.getString("STUDENT_ID")); temp.add(stu); } - + } } } - Collections.sort(temp,new Comparator(){ + Collections.sort(temp, new Comparator() { @Override public int compare(PageData o1, PageData o2) { - Float o1GetScore = Float.valueOf(o1.getString("STUDENT_TOTAL"))/Float.valueOf(o1.getString("TEST_NUM")); - Float o2GetScore = Float.valueOf(o2.getString("STUDENT_TOTAL"))/Float.valueOf(o2.getString("TEST_NUM")); + + Float o1GetScore = Float.valueOf(o1.getString("TEST_NUM")) == 0 ? 0 + : Float.valueOf(o1.getString("STUDENT_TOTAL")) + / Float.valueOf(o1.getString("TEST_NUM")); + Float o2GetScore = Float.valueOf(o2.getString("TEST_NUM")) == 0 ? 0 + : Float.valueOf(o2.getString("STUDENT_TOTAL")) + / Float.valueOf(o2.getString("TEST_NUM")); return o2GetScore.compareTo(o1GetScore); } - + }); mv.addObject("varList", temp); - mv.addObject("pd",pd); - - Map dataMap = new HashMap(); + mv.addObject("pd", pd); + + Map dataMap = new HashMap(); List titles = new ArrayList(); - titles.add("学生姓名"); //1 - titles.add("班级"); //2 - titles.add("综合排名"); //3 - titles.add("个人平均得分"); //4 - titles.add("个人平均得分率"); //5 - titles.add("个人得分"); //6 - titles.add("测验平均分"); //7 - titles.add("测验时间"); //8 - + titles.add("学生姓名"); // 1 + titles.add("班级"); // 2 + titles.add("综合排名"); // 3 + titles.add("个人平均得分"); // 4 + titles.add("个人平均得分率"); // 5 + titles.add("个人得分"); // 6 + titles.add("测验平均分"); // 7 + titles.add("测验时间"); // 8 + dataMap.put("titles", titles); List varOList = temp; List varList = new ArrayList(); - DecimalFormat decimalFormat=new DecimalFormat("0.00"); - for(int i=0;i test_list = (List)varOList.get(i).get("TEST_LIST"); - + + vpd.put("var1", varOList.get(i).getString("STUDENT_NAME")); // 1 + vpd.put("var2", varOList.get(i).getString("CLASS_NAME")); // 2 + vpd.put("var3", i + 1); // 3 + 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 + 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 + List test_list = (List) varOList.get(i).get( + "TEST_LIST"); + List score = new ArrayList(); List AVG_SCORE = new ArrayList(); List CREATE_DATE = new ArrayList(); - for(int x=0;x()); - - List questList = v1Service.getTestPaperInfo(pd); - for(PageData qpd : questList){ - Question question = new Question(); - question.setAnswer(qpd.getString("ANSWER")); - question.setQuestion_id(qpd.getString("QUESTION_ID")); - question.setSubject_id(qpd.getString("SUBJECT_ID")); - question.setChapter_id(qpd.getString("CHAPTER_ID")); - question.setProblem_type_id(qpd.getString("PROBLEM_TYPE_ID")); - question.setKnowledge_id(qpd.getString("KNOWLEDGE_ID")); - question.setContent(qpd.getString("CONTENT").replaceAll("", "______")); - question.setOption_num(qpd.getString("OPTION_NUM")); - question.setOption_content(qpd.getString("OPTION_CONTENT")); - question.setDifficulty(qpd.getString("DIFFICULTY")); - question.setAnalysis(qpd.getString("ANALYSIS")); - question.setQuestion_from(qpd.getString("QUESTION_FROM")); - question.setSug_score(qpd.getString("SCORE")); - question.setSug_part_score(qpd.getString("PART_SCORE")); - question.setRank(qpd.getString("RANK")); - question.setNo_name(qpd.getString("NO_NAME")); - if("-1".equals("" + qpd.getString("P_ID"))){ - PageData pidPd = new PageData(); - pidPd.put("PID", question.getQuestion_id()); - question.setQuestions(new ArrayList()); - List qs = v1Service.getQuestionsByPID(pidPd); - for(PageData q : qs){ - Question qq = new Question(); - qq.setAnswer(q.getString("ANSWER")); - qq.setQuestion_id(q.getString("QUESTION_ID")); - qq.setSubject_id(q.getString("SUBJECT_ID")); - qq.setChapter_id(q.getString("CHAPTER_ID")); - qq.setProblem_type_id(q.getString("PROBLEM_TYPE_ID")); - qq.setKnowledge_id(q.getString("KNOWLEDGE_ID")); - qq.setContent(q.getString("CONTENT").replaceAll("", "______")); - qq.setOption_num(q.getString("OPTION_NUM")); - qq.setOption_content(q.getString("OPTION_CONTENT")); - qq.setDifficulty(q.getString("DIFFICULTY")); - qq.setAnalysis(q.getString("ANALYSIS")); - qq.setQuestion_from(q.getString("QUESTION_FROM")); - qq.setSug_score(q.getString("SCORE")); - qq.setSug_part_score(q.getString("PART_SCORE")); - qq.setRank(q.getString("RANK")); - qq.setNo_name(q.getString("NO_NAME")); - question.getQuestions().add(qq); + if (ppd != null) { + paper.setTitle(ppd.getString("TITLE")); + paper.setExam_time(ppd.getString("EXAM_TIME")); + paper.setUser_id(ppd.getString("USER_ID")); + paper.setPaper_type(ppd.getString("PAPER_TYPE")); + paper.setSubject_id(ppd.getString("SUBJECT_ID")); + paper.setGrade_id(ppd.getString("GRADE_ID")); + paper.setScore(ppd.getString("SCORE")); + paper.setQuestions(new ArrayList()); + + List questList = v1Service.getTestPaperInfo(pd); + for (PageData qpd : questList) { + Question question = new Question(); + question.setAnswer(qpd.getString("ANSWER")); + question.setQuestion_id(qpd.getString("QUESTION_ID")); + question.setSubject_id(qpd.getString("SUBJECT_ID")); + question.setChapter_id(qpd.getString("CHAPTER_ID")); + question.setProblem_type_id(qpd + .getString("PROBLEM_TYPE_ID")); + question.setKnowledge_id(qpd.getString("KNOWLEDGE_ID")); + question.setContent(qpd.getString("CONTENT") + .replaceAll("", "______")); + question.setOption_num(qpd.getString("OPTION_NUM")); + question.setOption_content(qpd + .getString("OPTION_CONTENT")); + question.setDifficulty(qpd.getString("DIFFICULTY")); + question.setAnalysis(qpd.getString("ANALYSIS")); + question.setQuestion_from(qpd + .getString("QUESTION_FROM")); + question.setSug_score(qpd.getString("SCORE")); + question.setSug_part_score(qpd.getString("PART_SCORE")); + question.setRank(qpd.getString("RANK")); + question.setNo_name(qpd.getString("NO_NAME")); + if ("-1".equals("" + qpd.getString("P_ID"))) { + PageData pidPd = new PageData(); + pidPd.put("PID", question.getQuestion_id()); + question.setQuestions(new ArrayList()); + List qs = v1Service + .getQuestionsByPID(pidPd); + for (PageData q : qs) { + Question qq = new Question(); + qq.setAnswer(q.getString("ANSWER")); + qq.setQuestion_id(q.getString("QUESTION_ID")); + qq.setSubject_id(q.getString("SUBJECT_ID")); + qq.setChapter_id(q.getString("CHAPTER_ID")); + qq.setProblem_type_id(q + .getString("PROBLEM_TYPE_ID")); + qq.setKnowledge_id(q.getString("KNOWLEDGE_ID")); + qq.setContent(q.getString("CONTENT") + .replaceAll("", "______")); + qq.setOption_num(q.getString("OPTION_NUM")); + qq.setOption_content(q + .getString("OPTION_CONTENT")); + qq.setDifficulty(q.getString("DIFFICULTY")); + qq.setAnalysis(q.getString("ANALYSIS")); + qq.setQuestion_from(q + .getString("QUESTION_FROM")); + qq.setSug_score(q.getString("SCORE")); + qq.setSug_part_score(q.getString("PART_SCORE")); + qq.setRank(q.getString("RANK")); + qq.setNo_name(q.getString("NO_NAME")); + question.getQuestions().add(qq); + } + } + if ("-1".equals(qpd.getString("P_ID")) + || "0".equals(qpd.getString("P_ID"))) { + paper.getQuestions().add(question); } } - if("-1".equals(qpd.getString("P_ID")) || "0".equals(qpd.getString("P_ID"))){ - paper.getQuestions().add(question); - } - } - pd.put("JSON", paper.toJson()); - logger.info(paper.toJson()); - + pd.put("JSON", paper.toJson()); + logger.info(paper.toJson()); + } - }catch(Exception ex){ + } catch (Exception ex) { ex.printStackTrace(); } } - if(isChineseLanguageClient()){ + if (isChineseLanguageClient()) { mv.setViewName("sunvote/teacher/creat_question"); - }else{ + } else { mv.setViewName("sunvote/teacher/en_creat_question"); } mv.addObject("pd", pd); - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限 return mv; } - - - @RequestMapping(value="/npaper") - public ModelAndView newpaper() throws Exception{ - logBefore(logger, Jurisdiction.getUsername()+"Paper详细信息"); + + @RequestMapping(value = "/npaper") + public ModelAndView newpaper() throws Exception { + logBefore(logger, Jurisdiction.getUsername() + "Paper详细信息"); ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); - String paperType = pd.getString("PAPER_TYPE") ; + String paperType = pd.getString("PAPER_TYPE"); Paper paper = new Paper(); paper.setTitle(pd.getString("NAME")); paper.setExam_time(pd.getString("TIME")); Session session = Jurisdiction.getSession(); - User user = (User)session.getAttribute(Const.SESSION_USER); + User user = (User) session.getAttribute(Const.SESSION_USER); paper.setUser_id(user.getUSER_ID()); - paper.setPaper_type(paperType == null || "".equals(paperType.trim()) ? "1" :paperType); + paper.setPaper_type(paperType == null || "".equals(paperType.trim()) ? "1" + : paperType); String subjectId = pd.getString("SUBJECT_ID"); - paper.setSubject_id(subjectId == null || "".equals(subjectId.trim())? getSubjectId():subjectId); + paper.setSubject_id(subjectId == null || "".equals(subjectId.trim()) ? getSubjectId() + : subjectId); String gradeId = pd.getString("GRADE_ID"); - paper.setGrade_id( gradeId== null || "".equals(gradeId.trim())? getGradeID() : gradeId); - String schoolId = pd.getString("SCHOOL_ID") ; - paper.setSchool_id(schoolId == null || "".equals(schoolId.trim())? getSchoolID() : schoolId); + paper.setGrade_id(gradeId == null || "".equals(gradeId.trim()) ? getGradeID() + : gradeId); + String schoolId = pd.getString("SCHOOL_ID"); + paper.setSchool_id(schoolId == null || "".equals(schoolId.trim()) ? getSchoolID() + : schoolId); paper.setQuestions(new ArrayList()); - + pd.put("JSON", paper.toJson()); logger.info(paper.toJson()); - + String TEMPLATE_ID = pd.getString("TEMPLATE_ID"); - if(TEMPLATE_ID != null && !"".equals(TEMPLATE_ID)){ + if (TEMPLATE_ID != null && !"".equals(TEMPLATE_ID)) { pd.put("PAGETEMPLATE_ID", TEMPLATE_ID); PageData template = pagetemplateService.findById(pd); mv.addObject("TEMPLEATE", template); } - - if(isChineseLanguageClient()){ + + if (isChineseLanguageClient()) { mv.setViewName("sunvote/teacher/creat_question"); - }else{ + } else { mv.setViewName("sunvote/teacher/en_creat_question"); } mv.addObject("pd", pd); - if(paperType != null && "2".equals(paperType)){ + if (paperType != null && "2".equals(paperType)) { mv.addObject("JUMP_URL", "/main/admin"); - }else{ + } else { mv.addObject("JUMP_URL", "/main/teacher"); } - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限 return mv; } - - - - /**列表 + + /** + * 列表 + * * @param page * @throws Exception */ - @RequestMapping(value="/list2") - public ModelAndView list2(Page page) throws Exception{ - logBefore(logger, Jurisdiction.getUsername()+"列表Paper"); - //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) + @RequestMapping(value = "/list2") + public ModelAndView list2(Page page) throws Exception { + logBefore(logger, Jurisdiction.getUsername() + "列表Paper"); + // if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} + // //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); - String keywords = pd.getString("keywords"); //关键词检索条件 - if(null != keywords && !"".equals(keywords)){ + String keywords = pd.getString("keywords"); // 关键词检索条件 + if (null != keywords && !"".equals(keywords)) { pd.put("keywords", keywords.trim()); } String userID = getUserID(); pd.put("USER_ID", userID); - pd.put("PAPER_TYPE","1"); + pd.put("PAPER_TYPE", "1"); page.setPd(pd); - List varList = paperService.list(page); //列出Paper列表 + List varList = paperService.list(page); // 列出Paper列表 page.setLangIsChina(isChineseLanguageClient()); - if(isChineseLanguageClient()){ + if (isChineseLanguageClient()) { mv.setViewName("sunvote/paper/paper_list2"); - }else{ + } else { mv.setViewName("sunvote/paper/en_paper_list2"); } - - for(PageData p:varList){ + + for (PageData p : varList) { String examTime = p.getString("EXAM_TIME"); PageData temp = new PageData(); temp.put("PAPER_ID", p.getString("PAPER_ID")); List li = testpaperService.listAll(temp); - if(examTime != null){ - try{ + if (examTime != null) { + try { int et = Integer.parseInt(examTime); - String min = (et / 60 ) + "" ; -// if(min.length() < 2){ -// min = "0" + min ; -// } - String sec = (et % 60 ) + "" ; - if(sec.length() < 2){ - sec = "0" + sec ; + String min = (et / 60) + ""; + // if(min.length() < 2){ + // min = "0" + min ; + // } + String sec = (et % 60) + ""; + if (sec.length() < 2) { + sec = "0" + sec; } - if(et >= 60){ - examTime = min + "时" + sec+"分"; - }else{ - examTime = "0时" + sec+"分"; + if (et >= 60) { + examTime = min + "时" + sec + "分"; + } else { + examTime = "0时" + sec + "分"; } - }catch(Exception e){ + } catch (Exception e) { e.printStackTrace(); } } - if(examTime == null){ + if (examTime == null) { examTime = "00:00"; } p.put("EXAM_TIME", examTime); p.put("TEST_NUM", li.size()); } - + mv.addObject("varList", varList); mv.addObject("pd", pd); - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限 return mv; } - - /**列表 + + /** + * 列表 + * * @param page * @throws Exception */ - @RequestMapping(value="/list4") - public ModelAndView list4(Page page) throws Exception{ + @RequestMapping(value = "/list4") + public ModelAndView list4(Page page) throws Exception { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); - String keywords = pd.getString("keywords"); //关键词检索条件 - if(null != keywords && !"".equals(keywords)){ + String keywords = pd.getString("keywords"); // 关键词检索条件 + if (null != keywords && !"".equals(keywords)) { pd.put("keywords", keywords.trim()); } - pd.put("PAPER_TYPE","1"); + pd.put("PAPER_TYPE", "1"); page.setPd(pd); page.setLangIsChina(isChineseLanguageClient()); - List varList = paperService.list(page); //列出Paper列表 -// pd.put("PAPER_TYPE","2"); -// List varList2 = paperService.list(page); //列出Paper列表 -// varList.addAll(varList2); - if(isChineseLanguageClient()){ + List varList = paperService.list(page); // 列出Paper列表 + // pd.put("PAPER_TYPE","2"); + // List varList2 = paperService.list(page); //列出Paper列表 + // varList.addAll(varList2); + if (isChineseLanguageClient()) { mv.setViewName("sunvote/paper/paper_list4"); - }else{ + } else { mv.setViewName("sunvote/paper/en_paper_list4"); } - - - for(PageData p:varList){ + + for (PageData p : varList) { String examTime = p.getString("EXAM_TIME"); PageData temp = new PageData(); temp.put("PAPER_ID", p.getString("PAPER_ID")); List li = testpaperService.listAll(temp); - if(examTime != null){ - try{ + if (examTime != null) { + try { int et = Integer.parseInt(examTime); - String min = (et / 60 ) + "" ; -// if(min.length() < 2){ -// min = "0" + min ; -// } - String sec = (et % 60 ) + "" ; - if(sec.length() < 2){ - sec = "0" + sec ; + String min = (et / 60) + ""; + // if(min.length() < 2){ + // min = "0" + min ; + // } + String sec = (et % 60) + ""; + if (sec.length() < 2) { + sec = "0" + sec; } - if(et >= 60){ - examTime = min + "时" + sec +"分"; - }else{ - examTime = "0时" + sec + "分"; + if (et >= 60) { + examTime = min + "时" + sec + "分"; + } else { + examTime = "0时" + sec + "分"; } - }catch(Exception e){ + } catch (Exception e) { e.printStackTrace(); } } - if(examTime == null){ + if (examTime == null) { examTime = "0"; } p.put("EXAM_TIME", examTime); p.put("TEST_NUM", li.size()); } - + PageData tpd = new PageData(); tpd.put("ID", getUserID()); PageData adminInfos = v1Service.getAdminInfo(tpd); - List gradeInfos = schoolgradesubjectService.listAllGrade(adminInfos); - List subjectInfos = schoolgradesubjectService.listAllSubject(adminInfos); - + List gradeInfos = schoolgradesubjectService + .listAllGrade(adminInfos); + List subjectInfos = schoolgradesubjectService + .listAllSubject(adminInfos); + mv.addObject("gradeInfos", gradeInfos); mv.addObject("subjectInfos", subjectInfos); - + mv.addObject("varList", varList); mv.addObject("pd", pd); - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限 return mv; } - - - /**列表 + + /** + * 列表 + * * @param page * @throws Exception */ - @RequestMapping(value="/list5") - public ModelAndView list5(Page page) throws Exception{ + @RequestMapping(value = "/list5") + public ModelAndView list5(Page page) throws Exception { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); - String keywords = pd.getString("keywords"); //关键词检索条件 - if(null != keywords && !"".equals(keywords)){ + String keywords = pd.getString("keywords"); // 关键词检索条件 + if (null != keywords && !"".equals(keywords)) { pd.put("keywords", keywords.trim()); } - pd.put("PAPER_TYPE","2"); + pd.put("PAPER_TYPE", "2"); pd.put("USER_ID", this.getUserID()); page.setPd(pd); page.setLangIsChina(isChineseLanguageClient()); - List varList = paperService.list(page); //列出Paper列表 - if(isChineseLanguageClient()){ + List varList = paperService.list(page); // 列出Paper列表 + if (isChineseLanguageClient()) { mv.setViewName("sunvote/paper/paper_list5"); - }else{ + } else { mv.setViewName("sunvote/paper/en_paper_list5"); } - - for(PageData p:varList){ + + for (PageData p : varList) { String examTime = p.getString("EXAM_TIME"); PageData temp = new PageData(); temp.put("PAPER_ID", p.getString("PAPER_ID")); List li = testpaperService.listAll(temp); - - if(examTime != null){ - try{ + + if (examTime != null) { + try { int et = Integer.parseInt(examTime); - String min = (et / 60 ) + "" ; -// if(min.length() < 2){ -// min = "0" + min ; -// } - String sec = (et % 60 ) + "" ; - if(sec.length() < 2){ - sec = "0" + sec ; + String min = (et / 60) + ""; + // if(min.length() < 2){ + // min = "0" + min ; + // } + String sec = (et % 60) + ""; + if (sec.length() < 2) { + sec = "0" + sec; } - if(et >= 60){ - examTime = min + "时" + sec+"分"; - }else{ - examTime = "0时" + sec+"分"; + if (et >= 60) { + examTime = min + "时" + sec + "分"; + } else { + examTime = "0时" + sec + "分"; } - }catch(Exception e){ + } catch (Exception e) { e.printStackTrace(); } } - if(examTime == null){ + if (examTime == null) { examTime = "0"; } p.put("EXAM_TIME", examTime); p.put("TEST_NUM", li.size()); } - + mv.addObject("varList", varList); mv.addObject("pd", pd); - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限 return mv; } - - /**列表 + + /** + * 列表 + * * @param page * @throws Exception */ - @RequestMapping(value="/list3") - public ModelAndView list3(Page page) throws Exception{ - logBefore(logger, Jurisdiction.getUsername()+"列表Paper"); - //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) + @RequestMapping(value = "/list3") + public ModelAndView list3(Page page) throws Exception { + logBefore(logger, Jurisdiction.getUsername() + "列表Paper"); + // if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} + // //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); - String keywords = pd.getString("keywords"); //关键词检索条件 - if(null != keywords && !"".equals(keywords)){ + String keywords = pd.getString("keywords"); // 关键词检索条件 + if (null != keywords && !"".equals(keywords)) { pd.put("keywords", keywords.trim()); } String userID = getUserID(); pd.put("USER_ID", userID); - pd.put("PAPER_TYPE","101"); + pd.put("PAPER_TYPE", "101"); page.setPd(pd); - List varList = paperService.list(page); //列出Paper列表 + List varList = paperService.list(page); // 列出Paper列表 mv.setViewName("sunvote/paper/paper_list2"); - - for(PageData p:varList){ + + for (PageData p : varList) { String examTime = p.getString("EXAM_TIME"); - if(examTime != null){ - try{ + if (examTime != null) { + try { int et = Integer.parseInt(examTime); - String min = (et / 60 ) + "" ; -// if(min.length() < 2){ -// min = "0" + min ; -// } - String sec = (et % 60 ) + "" ; - if(sec.length() < 2){ - sec = "0" + sec ; + String min = (et / 60) + ""; + // if(min.length() < 2){ + // min = "0" + min ; + // } + String sec = (et % 60) + ""; + if (sec.length() < 2) { + sec = "0" + sec; } - if(et > 60){ - examTime = min + "时" + sec+"分"; - }else{ - examTime = "0时" + sec+"分"; + if (et > 60) { + examTime = min + "时" + sec + "分"; + } else { + examTime = "0时" + sec + "分"; } - }catch(Exception e){ + } catch (Exception e) { e.printStackTrace(); } } - if(examTime == null){ + if (examTime == null) { examTime = "0"; } p.put("EXAM_TIME", examTime); } - + mv.addObject("varList", varList); mv.addObject("pd", pd); - mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 + mv.addObject("QX", Jurisdiction.getHC()); // 按钮权限 return mv; } - - /**去新增页面 + + /** + * 去新增页面 + * * @param * @throws Exception */ - @RequestMapping(value="/goAdd") - public ModelAndView goAdd()throws Exception{ + @RequestMapping(value = "/goAdd") + public ModelAndView goAdd() throws Exception { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); @@ -1277,14 +1433,16 @@ public class PaperController extends BaseController { mv.addObject("msg", "save"); mv.addObject("pd", pd); return mv; - } - - /**去新增页面 + } + + /** + * 去新增页面 + * * @param * @throws Exception */ - @RequestMapping(value="/goAddTest") - public ModelAndView goAddTest()throws Exception{ + @RequestMapping(value = "/goAddTest") + public ModelAndView goAddTest() throws Exception { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); @@ -1292,102 +1450,112 @@ public class PaperController extends BaseController { mv.addObject("msg", "newpaper"); mv.addObject("pd", pd); return mv; - } - - /**去修改页面 + } + + /** + * 去修改页面 + * * @param * @throws Exception */ - @RequestMapping(value="/goEdit") - public ModelAndView goEdit()throws Exception{ + @RequestMapping(value = "/goEdit") + public ModelAndView goEdit() throws Exception { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); - pd = paperService.findById(pd); //根据ID读取 + pd = paperService.findById(pd); // 根据ID读取 mv.setViewName("sunvote/paper/paper_edit"); mv.addObject("msg", "edit"); mv.addObject("pd", pd); return mv; - } - - /**批量删除 + } + + /** + * 批量删除 + * * @param * @throws Exception */ - @RequestMapping(value="/deleteAll") + @RequestMapping(value = "/deleteAll") @ResponseBody - public Object deleteAll() throws Exception{ - logBefore(logger, Jurisdiction.getUsername()+"批量删除Paper"); -// if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限 - PageData pd = new PageData(); - Map map = new HashMap(); + public Object deleteAll() throws Exception { + logBefore(logger, Jurisdiction.getUsername() + "批量删除Paper"); + // if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} + // //校验权限 + PageData pd = new PageData(); + Map map = new HashMap(); pd = this.getPageData(); List pdList = new ArrayList(); String DATA_IDS = pd.getString("DATA_IDS"); - if(null != DATA_IDS && !"".equals(DATA_IDS)){ + if (null != DATA_IDS && !"".equals(DATA_IDS)) { String ArrayDATA_IDS[] = DATA_IDS.split(","); paperService.deleteAll(ArrayDATA_IDS); paperquestionService.deleteAllPaper(ArrayDATA_IDS); pd.put("msg", "ok"); - }else{ + } else { pd.put("msg", "no"); } pdList.add(pd); map.put("list", pdList); return AppUtil.returnObject(pd, map); } - - /**导出到excel + + /** + * 导出到excel + * * @param * @throws Exception */ - @RequestMapping(value="/excel") - public ModelAndView exportExcel() throws Exception{ - logBefore(logger, Jurisdiction.getUsername()+"导出Paper到excel"); - if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} + @RequestMapping(value = "/excel") + public ModelAndView exportExcel() throws Exception { + logBefore(logger, Jurisdiction.getUsername() + "导出Paper到excel"); + if (!Jurisdiction.buttonJurisdiction(menuUrl, "cha")) { + return null; + } ModelAndView mv = new ModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); - Map dataMap = new HashMap(); + Map dataMap = new HashMap(); List titles = new ArrayList(); - titles.add("试卷标题"); //1 - titles.add("出卷老师"); //2 - titles.add("试卷类型"); //3 - titles.add("科目"); //4 - titles.add("年级"); //5 - titles.add("学校"); //6 - titles.add("创建时间"); //7 - titles.add("修改时间"); //8 - titles.add("建议考试时长"); //9 - titles.add("试卷状态"); //10 - titles.add("备注"); //11 + titles.add("试卷标题"); // 1 + titles.add("出卷老师"); // 2 + titles.add("试卷类型"); // 3 + titles.add("科目"); // 4 + titles.add("年级"); // 5 + titles.add("学校"); // 6 + titles.add("创建时间"); // 7 + titles.add("修改时间"); // 8 + titles.add("建议考试时长"); // 9 + titles.add("试卷状态"); // 10 + titles.add("备注"); // 11 dataMap.put("titles", titles); List varOList = paperService.listAll(pd); List varList = new ArrayList(); - for(int i=0;i varList = (List) model.get("varList"); int varCount = varList.size(); + Integer test_num =0; for(int i=0; i score = (List)vpd.get("var6"); for(int j=0;j score = (List)vpd.get("var6"); - if(score.size()>0){ - CellRangeAddress region = new CellRangeAddress(i*score.size()+1, i*score.size()+score.size(), j, j); + + if(score.size()>1){ + CellRangeAddress region = new CellRangeAddress(test_num+1, test_num+score.size(), j, j); sheet.addMergedRegion(region); } String varstr = vpd.getString("var"+(j+1)) != null ? vpd.getString("var"+(j+1)) : ""; - cell = getCell(sheet, i*score.size()+1, j); + cell = getCell(sheet, test_num+1, j); cell.setCellStyle(contentStyle); setText(cell,varstr); }else{ - List score = (List)vpd.get("var6"); + //List score = (List)vpd.get("var6"); for(int x=0;x