Commit d34f6711c31b59256838852990f1153f87b4a38d
1 parent
c617106f
试题
Showing
2 changed files
with
57 additions
and
71 deletions
WebRoot/WEB-INF/jsp/sunvote/teacher/teach_paper.jsp
src/com/fh/controller/api/V1.java
@@ -5,6 +5,7 @@ import java.util.Date; | @@ -5,6 +5,7 @@ import java.util.Date; | ||
5 | import java.util.Iterator; | 5 | import java.util.Iterator; |
6 | import java.util.List; | 6 | import java.util.List; |
7 | import java.util.Map; | 7 | import java.util.Map; |
8 | +import java.util.Set; | ||
8 | 9 | ||
9 | import javax.annotation.Resource; | 10 | import javax.annotation.Resource; |
10 | import javax.servlet.http.HttpServletRequest; | 11 | import javax.servlet.http.HttpServletRequest; |
@@ -52,11 +53,9 @@ import com.fh.service.sunvote.questiontype.QuestionTypeManager; | @@ -52,11 +53,9 @@ import com.fh.service.sunvote.questiontype.QuestionTypeManager; | ||
52 | import com.fh.service.sunvote.school.SchoolManager; | 53 | import com.fh.service.sunvote.school.SchoolManager; |
53 | import com.fh.service.sunvote.schoolgradesubject.SchoolGradeSubjectManager; | 54 | import com.fh.service.sunvote.schoolgradesubject.SchoolGradeSubjectManager; |
54 | import com.fh.service.sunvote.sclass.SClassManager; | 55 | import com.fh.service.sunvote.sclass.SClassManager; |
55 | -import com.fh.service.sunvote.sclass.impl.SClassService; | ||
56 | import com.fh.service.sunvote.student.StudentManager; | 56 | import com.fh.service.sunvote.student.StudentManager; |
57 | import com.fh.service.sunvote.studenttest.StudentTestManager; | 57 | import com.fh.service.sunvote.studenttest.StudentTestManager; |
58 | import com.fh.service.sunvote.subject.SubjectManager; | 58 | import com.fh.service.sunvote.subject.SubjectManager; |
59 | -import com.fh.service.sunvote.subject.impl.SubjectService; | ||
60 | import com.fh.service.sunvote.teacher.TeacherManager; | 59 | import com.fh.service.sunvote.teacher.TeacherManager; |
61 | import com.fh.service.sunvote.teachingmaterial.TeachingMaterialManager; | 60 | import com.fh.service.sunvote.teachingmaterial.TeachingMaterialManager; |
62 | import com.fh.service.sunvote.testpaper.TestPaperManager; | 61 | import com.fh.service.sunvote.testpaper.TestPaperManager; |
@@ -64,7 +63,6 @@ import com.fh.service.sunvote.testpaperinfo.TestPaperInfoManager; | @@ -64,7 +63,6 @@ import com.fh.service.sunvote.testpaperinfo.TestPaperInfoManager; | ||
64 | import com.fh.service.sunvote.textbook.TextbookManager; | 63 | import com.fh.service.sunvote.textbook.TextbookManager; |
65 | import com.fh.service.system.user.UserManager; | 64 | import com.fh.service.system.user.UserManager; |
66 | import com.fh.util.PageData; | 65 | import com.fh.util.PageData; |
67 | -import com.fh.util.SpringBeanFactoryUtils; | ||
68 | import com.fh.util.Tools; | 66 | import com.fh.util.Tools; |
69 | 67 | ||
70 | @Controller | 68 | @Controller |
@@ -529,91 +527,78 @@ public class V1 extends BaseController { | @@ -529,91 +527,78 @@ public class V1 extends BaseController { | ||
529 | event("paperInfo"); | 527 | event("paperInfo"); |
530 | long cur = System.currentTimeMillis(); | 528 | long cur = System.currentTimeMillis(); |
531 | PageData pd = this.getPageData(); | 529 | PageData pd = this.getPageData(); |
532 | - ResponseGson<Paper> res = new ResponseGson<Paper>(); | 530 | + ResponseGson<PageData> res = new ResponseGson<PageData>(); |
533 | if (pd.containsKey("PAPER_ID")) { | 531 | if (pd.containsKey("PAPER_ID")) { |
534 | try { | 532 | try { |
535 | try { | 533 | try { |
536 | - Paper paper = new Paper(); | ||
537 | PageData ppd = paperService.findById(pd); | 534 | PageData ppd = paperService.findById(pd); |
538 | if (ppd != null) { | 535 | if (ppd != null) { |
539 | - paper.setTitle(ppd.getString("TITLE")); | ||
540 | - paper.setExam_time(ppd.getString("EXAM_TIME")); | ||
541 | - paper.setUser_id(ppd.getString("USER_ID")); | ||
542 | - paper.setPaper_type(ppd.getString("PAPER_TYPE")); | ||
543 | - paper.setSubject_id(ppd.getString("SUBJECT_ID")); | ||
544 | - paper.setGrade_id(ppd.getString("GRADE_ID")); | ||
545 | - paper.setScore(ppd.getString("SCORE")); | ||
546 | - paper.setQuestions(new ArrayList<Question>()); | ||
547 | - | ||
548 | List<PageData> questList = v1Service | 536 | List<PageData> questList = v1Service |
549 | .getTestPaperInfo(pd); | 537 | .getTestPaperInfo(pd); |
538 | + ppd.put("QUESTIONS", questList); | ||
550 | for (PageData qpd : questList) { | 539 | for (PageData qpd : questList) { |
551 | - Question question = new Question(); | ||
552 | - question.setAnswer(qpd.getString("ANSWER")); | ||
553 | - question.setQuestion_id(qpd | ||
554 | - .getString("QUESTION_ID")); | ||
555 | - question.setSubject_id(qpd.getString("SUBJECT_ID")); | ||
556 | - question.setChapter_id(qpd.getString("CHAPTER_ID")); | ||
557 | - question.setProblem_type_id(qpd | ||
558 | - .getString("PROBLEM_TYPE_ID")); | ||
559 | - question.setKnowledge_id(qpd | ||
560 | - .getString("KNOWLEDGE_ID")); | ||
561 | - question.setContent(qpd.getString("CONTENT")); | ||
562 | - question.setOption_num(qpd.getString("OPTION_NUM")); | ||
563 | - question.setOption_content(qpd | ||
564 | - .getString("OPTION_CONTENT")); | ||
565 | - question.setDifficulty(qpd.getString("DIFFICULTY")); | ||
566 | - question.setAnalysis(qpd.getString("ANALYSIS")); | ||
567 | - question.setQuestion_from(qpd | ||
568 | - .getString("QUESTION_FROM")); | ||
569 | - question.setScore(qpd.getString("SCORE")); | ||
570 | - question.setPart_score(qpd.getString("PART_SCORE")); | ||
571 | - question.setQuestionType(qpd | ||
572 | - .getString("PROBLEM_TYPE_ID")); | ||
573 | - question.setRank(qpd.getString("RANK")); | ||
574 | - question.setNo_name(qpd.getString("NO_NAME")); | 540 | + |
541 | + String optionContent = qpd | ||
542 | + .getString("OPTION_CONTENT"); | ||
543 | + if (optionContent != null | ||
544 | + && optionContent.startsWith("[") | ||
545 | + && optionContent.endsWith("]")) { | ||
546 | + String[] options = optionContent.substring(1, | ||
547 | + optionContent.length() - 1).split(","); | ||
548 | + qpd.put("OPTION_CONTENT", options); | ||
549 | + } else { | ||
550 | + qpd.put("OPTION_CONTENT", | ||
551 | + new String[] { optionContent }); | ||
552 | + } | ||
575 | if ("-1".equals("" + qpd.getString("P_ID"))) { | 553 | if ("-1".equals("" + qpd.getString("P_ID"))) { |
576 | PageData pidPd = new PageData(); | 554 | PageData pidPd = new PageData(); |
577 | - pidPd.put("PID", question.getQuestion_id()); | ||
578 | - question.setQuestions(new ArrayList<Question>()); | 555 | + pidPd.put("PID", qpd.getString("QUESTION_ID")); |
579 | List<PageData> qs = v1Service | 556 | List<PageData> qs = v1Service |
580 | .getQuestionsByPID(pidPd); | 557 | .getQuestionsByPID(pidPd); |
581 | - for (PageData q : qs) { | ||
582 | - Question qq = new Question(); | ||
583 | - qq.setAnswer(q.getString("ANSWER")); | ||
584 | - qq.setQuestion_id(q | ||
585 | - .getString("QUESTION_ID")); | ||
586 | - qq.setSubject_id(q.getString("SUBJECT_ID")); | ||
587 | - qq.setChapter_id(q.getString("CHAPTER_ID")); | ||
588 | - qq.setProblem_type_id(q | ||
589 | - .getString("PROBLEM_TYPE_ID")); | ||
590 | - qq.setKnowledge_id(q | ||
591 | - .getString("KNOWLEDGE_ID")); | ||
592 | - qq.setContent(q.getString("CONTENT")); | ||
593 | - qq.setOption_num(q.getString("OPTION_NUM")); | ||
594 | - qq.setOption_content(q | ||
595 | - .getString("OPTION_CONTENT")); | ||
596 | - qq.setDifficulty(q.getString("DIFFICULTY")); | ||
597 | - qq.setAnalysis(q.getString("ANALYSIS")); | ||
598 | - qq.setQuestion_from(q | ||
599 | - .getString("QUESTION_FROM")); | ||
600 | - qq.setScore(q.getString("SCORE")); | ||
601 | - qq.setPart_score(q.getString("PART_SCORE")); | ||
602 | - qq.setQuestionType(qpd | ||
603 | - .getString("PROBLEM_TYPE_ID")); | ||
604 | - qq.setRank(q.getString("RANK")); | ||
605 | - qq.setNo_name(q.getString("NO_NAME")); | ||
606 | - question.getQuestions().add(qq); | 558 | + for (PageData pcd : qs) { |
559 | + String optionContent1 = pcd | ||
560 | + .getString("OPTION_CONTENT"); | ||
561 | + if (optionContent1 != null | ||
562 | + && optionContent1.startsWith("[") | ||
563 | + && optionContent1.endsWith("]")) { | ||
564 | + String[] options = optionContent1 | ||
565 | + .substring( | ||
566 | + 1, | ||
567 | + optionContent1.length() - 1) | ||
568 | + .split(","); | ||
569 | + pcd.put("OPTION_CONTENT", options); | ||
570 | + } else { | ||
571 | + pcd.put("OPTION_CONTENT", | ||
572 | + new String[] { optionContent1 }); | ||
573 | + } | ||
574 | + String[] keys = new String[pcd.keySet().size()]; | ||
575 | + pcd.keySet().toArray(keys); | ||
576 | + Iterator map1it = pcd.entrySet().iterator(); | ||
577 | + for (String key : keys) { | ||
578 | + pcd.put(key.toLowerCase(),pcd.get(key)); | ||
579 | + pcd.remove(key.toUpperCase()); | ||
580 | + } | ||
607 | } | 581 | } |
582 | + qpd.put("QUESTIONS", qs); | ||
608 | } | 583 | } |
609 | - if ("-1".equals(qpd.getString("P_ID")) | ||
610 | - || "0".equals(qpd.getString("P_ID"))) { | ||
611 | - paper.getQuestions().add(question); | 584 | + |
585 | + String[] keys = new String[qpd.keySet().size()]; | ||
586 | + qpd.keySet().toArray(keys); | ||
587 | + for (String key : keys) { | ||
588 | + qpd.put(key.toLowerCase(), qpd.get(key)); | ||
589 | + qpd.remove(key.toUpperCase()); | ||
612 | } | 590 | } |
591 | + | ||
592 | + } | ||
593 | + String[] keys = new String[ppd.keySet().size()]; | ||
594 | + ppd.keySet().toArray(keys); | ||
595 | + for (String key : keys) { | ||
596 | + ppd.put(key.toLowerCase(), ppd.get(key)); | ||
597 | + ppd.remove(key.toUpperCase()); | ||
613 | } | 598 | } |
614 | // pd.put("JSON", paper.toJson()); | 599 | // pd.put("JSON", paper.toJson()); |
615 | - res.setData(paper); | ||
616 | - logger.info(paper.toJson()); | 600 | + res.setData(ppd); |
601 | + logger.info(res.toJson()); | ||
617 | 602 | ||
618 | } | 603 | } |
619 | } catch (Exception ex) { | 604 | } catch (Exception ex) { |