+
+
diff --git a/resources/mybatis1/api/V1Mapper.xml b/resources/mybatis1/api/V1Mapper.xml
index 3452179..559b00d 100644
--- a/resources/mybatis1/api/V1Mapper.xml
+++ b/resources/mybatis1/api/V1Mapper.xml
@@ -34,7 +34,8 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/mybatis1/sunvote/PaperMapper.xml b/resources/mybatis1/sunvote/PaperMapper.xml
index 34937ad..80aaefd 100644
--- a/resources/mybatis1/sunvote/PaperMapper.xml
+++ b/resources/mybatis1/sunvote/PaperMapper.xml
@@ -20,6 +20,7 @@
EXAM_TIME,
PAPER_STATE,
REMARK,
+ SCORE,
PAPER_ID
@@ -36,6 +37,7 @@
#{EXAM_TIME},
#{PAPER_STATE},
#{REMARK},
+ #{SCORE},
#{PAPER_ID}
@@ -74,6 +76,7 @@
EXAM_TIME = #{EXAM_TIME},
PAPER_STATE = #{PAPER_STATE},
REMARK = #{REMARK},
+ SCORE = #{SCORE},
PAPER_ID = PAPER_ID
where
PAPER_ID = #{PAPER_ID}
@@ -96,9 +99,10 @@
from
where 1=1
-
+
and
(
+ CREATE_DATE > #{pd.LASTSTART}
)
+
+ and
+ (
+ CREATE_DATE < CONCAT(#{pd.LASTEND},'A')
+
+ )
+
+
+ order by CREATE_DATE DESC
@@ -114,10 +131,12 @@
from
+
+ order by CREATE_DATE DESC
-
+ order by CREATE_DATE DESC
diff --git a/resources/mybatis1/sunvote/PaperQuestionMapper.xml b/resources/mybatis1/sunvote/PaperQuestionMapper.xml
index 4317c0e..4814361 100644
--- a/resources/mybatis1/sunvote/PaperQuestionMapper.xml
+++ b/resources/mybatis1/sunvote/PaperQuestionMapper.xml
@@ -112,5 +112,16 @@
+
+
+ delete from
+
+ where
+ PAPER_ID in
+
+ #{item}
+
+
+
\ No newline at end of file
diff --git a/src/com/fh/bean/Paper.java b/src/com/fh/bean/Paper.java
new file mode 100644
index 0000000..42056fa
--- /dev/null
+++ b/src/com/fh/bean/Paper.java
@@ -0,0 +1,101 @@
+package com.fh.bean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.google.gson.Gson;
+
+public class Paper {
+ private String title = "";
+
+ private String exam_time = "";
+
+ private String paper_type = "";
+
+ private String subject_id = "";
+
+ private String grade_id = "";
+
+ private String user_id = "";
+
+ private List
questions = new ArrayList();
+
+ private String score = "";
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getTitle() {
+ return this.title;
+ }
+
+ public void setExam_time(String exam_time) {
+ this.exam_time = exam_time;
+ }
+
+ public String getExam_time() {
+ return this.exam_time;
+ }
+
+ public void setPaper_type(String paper_type) {
+ this.paper_type = paper_type;
+ }
+
+ public String getPaper_type() {
+ return this.paper_type;
+ }
+
+ public void setSubject_id(String subject_id) {
+ this.subject_id = subject_id;
+ }
+
+ public String getSubject_id() {
+ return this.subject_id;
+ }
+
+ public void setGrade_id(String grade_id) {
+ this.grade_id = grade_id;
+ }
+
+ public String getGrade_id() {
+ return this.grade_id;
+ }
+
+ public void setUser_id(String user_id) {
+ this.user_id = user_id;
+ }
+
+ public String getUser_id() {
+ return this.user_id;
+ }
+
+ public void setQuestions(List questions) {
+ this.questions = questions;
+ }
+
+ public List getQuestions() {
+ return this.questions;
+ }
+
+
+
+
+ public String getScore() {
+ return score;
+ }
+
+ public void setScore(String score) {
+ this.score = score;
+ }
+
+ public static Paper parse(String json){
+ Gson gson = new Gson();
+ return gson.fromJson(json, Paper.class);
+ }
+
+ public String toJson(){
+ Gson gson = new Gson();
+ return gson.toJson(this);
+ }
+}
diff --git a/src/com/fh/bean/Question.java b/src/com/fh/bean/Question.java
new file mode 100644
index 0000000..314b031
--- /dev/null
+++ b/src/com/fh/bean/Question.java
@@ -0,0 +1,207 @@
+package com.fh.bean;
+
+import java.util.List;
+
+public class Question {
+
+ private String question_id ;
+
+ private String subject_id;
+
+ private String chapter_id;
+
+ private String problem_type_id;
+
+ private String knowledge_id;
+
+ private String content;
+
+ private String option_num;
+
+ private String option_content;
+
+ private String answer;
+
+ private String difficulty;
+
+ private String analysis;
+
+ private String question_from;
+
+ private String score;
+
+ private String part_score;
+
+ private String remark;
+
+ private String rank;
+
+ private String no_name;
+
+ private String sug_score;
+
+ private String sug_part_score;
+
+ private List questions;
+
+ public void setSubject_id(String subject_id) {
+ this.subject_id = subject_id;
+ }
+
+ public String getSubject_id() {
+ return this.subject_id;
+ }
+
+ public void setChapter_id(String chapter_id) {
+ this.chapter_id = chapter_id;
+ }
+
+ public String getChapter_id() {
+ return this.chapter_id;
+ }
+
+ public void setProblem_type_id(String problem_type_id) {
+ this.problem_type_id = problem_type_id;
+ }
+
+ public String getProblem_type_id() {
+ return this.problem_type_id;
+ }
+
+ public void setKnowledge_id(String knowledge_id) {
+ this.knowledge_id = knowledge_id;
+ }
+
+ public String getKnowledge_id() {
+ return this.knowledge_id;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getContent() {
+ return this.content;
+ }
+
+ public void setOption_num(String option_num) {
+ this.option_num = option_num;
+ }
+
+ public String getOption_num() {
+ return this.option_num;
+ }
+
+ public void setOption_content(String option_content) {
+ this.option_content = option_content;
+ }
+
+ public String getOption_content() {
+ return this.option_content;
+ }
+
+ public void setAnswer(String answer) {
+ this.answer = answer;
+ }
+
+ public String getAnswer() {
+ return this.answer;
+ }
+
+ public void setDifficulty(String difficulty) {
+ this.difficulty = difficulty;
+ }
+
+ public String getDifficulty() {
+ return this.difficulty;
+ }
+
+ public void setAnalysis(String analysis) {
+ this.analysis = analysis;
+ }
+
+ public String getAnalysis() {
+ return this.analysis;
+ }
+
+ public void setQuestion_from(String question_from) {
+ this.question_from = question_from;
+ }
+
+ public String getQuestion_from() {
+ return this.question_from;
+ }
+
+ public void setScore(String score) {
+ this.score = score;
+ }
+
+ public String getScore() {
+ return this.score;
+ }
+
+ public void setPart_score(String part_score) {
+ this.part_score = part_score;
+ }
+
+ public String getPart_score() {
+ return this.part_score;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ public String getRemark() {
+ return this.remark;
+ }
+
+ public void setRank(String rank) {
+ this.rank = rank;
+ }
+
+ public String getRank() {
+ return this.rank;
+ }
+
+ public void setNo_name(String no_rank) {
+ this.no_name = no_rank;
+ }
+
+ public String getNo_name() {
+ return this.no_name;
+ }
+
+ public void setSug_score(String sug_score){
+ this.sug_score = sug_score ;
+ }
+ public void setSug_part_score(String sug_part_score){
+ this.sug_part_score = sug_part_score ;
+ }
+
+ public String getSug_score(){
+ return this.sug_score;
+ }
+ public String getSug_part_score(){
+ return this.sug_part_score;
+ }
+
+
+
+ public String getQuestion_id() {
+ return question_id;
+ }
+
+ public void setQuestion_id(String question_id) {
+ this.question_id = question_id;
+ }
+
+ public void setQuestions(List questions) {
+ this.questions = questions;
+ }
+
+ public List getQuestions() {
+ return this.questions;
+ }
+
+}
diff --git a/src/com/fh/controller/api/ResponseGson.java b/src/com/fh/controller/api/ResponseGson.java
index 8de572e..aeea0a6 100644
--- a/src/com/fh/controller/api/ResponseGson.java
+++ b/src/com/fh/controller/api/ResponseGson.java
@@ -8,7 +8,7 @@ public class ResponseGson {
private String message = "success";
- private T data;
+ private Object data;
public String getCode() {
return code;
@@ -26,7 +26,7 @@ public class ResponseGson {
this.message = message;
}
- public T getData() {
+ public Object getData() {
return data;
}
@@ -35,6 +35,9 @@ public class ResponseGson {
}
public String toJson(){
+ if(data == null){
+ data = new Object();
+ }
Gson gson = new Gson();
return gson.toJson(this);
}
diff --git a/src/com/fh/controller/api/V.java b/src/com/fh/controller/api/V.java
new file mode 100644
index 0000000..82bed06
--- /dev/null
+++ b/src/com/fh/controller/api/V.java
@@ -0,0 +1,159 @@
+package com.fh.controller.api;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.fh.controller.base.BaseController;
+import com.fh.service.feedback.feedback.FeedbackManager;
+import com.fh.service.feedback.problemphenomenon.ProblemPhenomenonManager;
+import com.fh.service.sunvote.basestation.BasestationManager;
+import com.fh.service.sunvote.chapter.ChapterManager;
+import com.fh.service.sunvote.classbasetation.ClassBasetationManager;
+import com.fh.service.sunvote.classroster.ClassRosterManager;
+import com.fh.service.sunvote.classtype.ClassTypeManager;
+import com.fh.service.sunvote.coursemanagement.CourseManagementManager;
+import com.fh.service.sunvote.grade.GradeManager;
+import com.fh.service.sunvote.keypad.KeypadManager;
+import com.fh.service.sunvote.keypadcheck.KeypadCheckManager;
+import com.fh.service.sunvote.knowledge.KnowledgeManager;
+import com.fh.service.sunvote.knowledgechapter.KnowledgeChapterManager;
+import com.fh.service.sunvote.paper.PaperManager;
+import com.fh.service.sunvote.paperclassteacher.PaperClassTeacherManager;
+import com.fh.service.sunvote.paperquestion.PaperQuestionManager;
+import com.fh.service.sunvote.papertype.PaperTypeManager;
+import com.fh.service.sunvote.question.QuestionManager;
+import com.fh.service.sunvote.questiontype.QuestionTypeManager;
+import com.fh.service.sunvote.school.SchoolManager;
+import com.fh.service.sunvote.schoolgradesubject.SchoolGradeSubjectManager;
+import com.fh.service.sunvote.sclass.SClassManager;
+import com.fh.service.sunvote.student.StudentManager;
+import com.fh.service.sunvote.subject.SubjectManager;
+import com.fh.service.sunvote.teacher.TeacherManager;
+import com.fh.service.sunvote.testpaperinfo.TestPaperInfoManager;
+import com.fh.util.PageData;
+
+
+@Controller
+@RequestMapping(value = "/api/v")
+public class V extends BaseController {
+
+ @Resource(name = "schoolService")
+ private SchoolManager schoolService;
+
+ @RequestMapping(value = "/school/list", produces = "application/json;charset=UTF-8")
+ @ResponseBody
+ public Object schoolList() throws Exception {
+ PageData pd = this.getPageData();
+ String id = pd.getString("ID");
+ if (id != null && !"".equals(id)) {
+ PageData ret = schoolService.findById(pd);
+ ResponseGson res = new ResponseGson();
+ res.setData(ret);
+ return res.toJson();
+ } else {
+ List ret = schoolService.listAll(pd);
+ ResponseGson> res = new ResponseGson();
+ res.setData(ret);
+ return res.toJson();
+ }
+ }
+ @RequestMapping(value = "/school/add", produces = "application/json;charset=UTF-8")
+ @ResponseBody
+ public Object schoolAdd() throws Exception {
+ PageData pd = this.getPageData();
+ String id = pd.getString("ID");
+ if (id != null && !"".equals(id)) {
+ PageData ret = schoolService.findById(pd);
+ ResponseGson res = new ResponseGson();
+ res.setData(ret);
+ return res.toJson();
+ } else {
+ List ret = schoolService.listAll(pd);
+ ResponseGson> res = new ResponseGson();
+ res.setData(ret);
+ return res.toJson();
+ }
+ }
+
+ @Resource(name = "basestationService")
+ private BasestationManager basestationService;
+
+ @Resource(name="chapterService")
+ private ChapterManager chapterService;
+
+ @Resource(name="classbasetationService")
+ private ClassBasetationManager classbasetationService;
+
+ @Resource(name="classrosterService")
+ private ClassRosterManager classrosterService;
+
+ @Resource(name="classtypeService")
+ private ClassTypeManager classtypeService;
+
+ @Resource(name="gradeService")
+ private GradeManager gradeService;
+
+ @Resource(name="coursemanagementService")
+ private CourseManagementManager coursemanagementService;
+
+ @Resource(name = "keypadService")
+ private KeypadManager keypadService;
+
+ @Resource(name="keypadcheckService")
+ private KeypadCheckManager keypadcheckService;
+
+ @Resource(name="knowledgeService")
+ private KnowledgeManager knowledgeService;
+
+ @Resource(name="knowledgechapterService")
+ private KnowledgeChapterManager knowledgechapterService;
+
+ @Resource(name="paperService")
+ private PaperManager paperService;
+
+ @Resource(name="paperclassteacherService")
+ private PaperClassTeacherManager paperclassteacherService;
+
+ @Resource(name="paperquestionService")
+ private PaperQuestionManager paperquestionService;
+
+ @Resource(name="papertypeService")
+ private PaperTypeManager papertypeService;
+
+ @Resource(name="questionService")
+ private QuestionManager questionService;
+
+ @Resource(name="questiontypeService")
+ private QuestionTypeManager questiontypeService;
+
+ @Resource(name="schoolgradesubjectService")
+ private SchoolGradeSubjectManager schoolgradesubjectService;
+
+ @Resource(name="sclassService")
+ private SClassManager sclassService;
+
+ @Resource(name="studentService")
+ private StudentManager studentService;
+
+ @Resource(name="subjectService")
+ private SubjectManager subjectService;
+
+ @Resource(name="teacherService")
+ private TeacherManager teacherService;
+
+ @Resource(name="testpaperinfoService")
+ private TestPaperInfoManager testpaperinfoService;
+
+ @Resource(name = "feedbackService")
+ private FeedbackManager feedbackService;
+
+ @Resource(name = "problemphenomenonService")
+ private ProblemPhenomenonManager problemphenomenonService;
+
+
+}
diff --git a/src/com/fh/controller/api/V1.java b/src/com/fh/controller/api/V1.java
index b31a884..1cb02f1 100644
--- a/src/com/fh/controller/api/V1.java
+++ b/src/com/fh/controller/api/V1.java
@@ -1,15 +1,20 @@
package com.fh.controller.api;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
+import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
+import com.fh.bean.Paper;
+import com.fh.bean.Question;
import com.fh.controller.base.BaseController;
+import com.fh.controller.sunvote.Myelfun;
import com.fh.entity.Page;
import com.fh.service.api.V1Manager;
import com.fh.service.feedback.feedback.FeedbackManager;
@@ -227,6 +232,8 @@ public class V1 extends BaseController {
}
List pageList = paperService.listAllByType(page);
res.setData(pageList);
+ }else{
+ res.setParmError();
}
return res.toJson();
}
@@ -235,13 +242,75 @@ public class V1 extends BaseController {
@ResponseBody
public Object testpaper() throws Exception {
PageData pd = this.getPageData();
- ResponseGson> res = new ResponseGson>();
+ ResponseGson res = new ResponseGson();
if(pd.containsKey("PAPER_ID")){
try{
+ Paper paper = new Paper();
+ PageData ppd = paperService.findById(pd);
+ if(ppd != null){
+ paper.setTitle(ppd.getString("TITLE"));
+ paper.setExam_time(ppd.getString("EXAM_TIME"));
+ paper.setTitle(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);
- res.setData(questList);
+ 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"));
+ 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("SUG_SCORE"));
+ question.setSug_part_score(qpd.getString("SUG_PART_SCORE"));
+ question.setRank(qpd.getString("RANK"));
+ question.setNo_name(qpd.getString("NO_NAME"));
+ if("-1".equals(qpd.getString("PID"))){
+ 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"));
+ 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("SUG_SCORE"));
+ qq.setSug_part_score(q.getString("SUG_PART_SCORE"));
+ qq.setRank(q.getString("RANK"));
+ qq.setNo_name(q.getString("NO_NAME"));
+ question.getQuestions().add(qq);
+ }
+ }
+ paper.getQuestions().add(question);
+ }
+
+
+ res.setData(paper);
+ }
}catch(Exception ex){
- res.setOtherError();
+ ex.printStackTrace();
+ res.setError();
}
}else{
res.setOtherError();
@@ -258,4 +327,125 @@ public class V1 extends BaseController {
return res.toJson();
}
+
+ @RequestMapping(value = "/uploadpaper", produces = "application/json;charset=UTF-8")
+ @ResponseBody
+ public Object uploadpaper() throws Exception {
+ PageData pd = this.getPageData();
+ ResponseGson res = new ResponseGson();
+
+ if(!StringUtils.isEmpty(pd.getJsonString())){
+ Paper paper = Paper.parse(pd.getJsonString());
+ PageData paperPd = new PageData();
+ String paperID = this.get32UUID();
+ res.setData(paperID);
+ paperPd.put("PAPER_ID", paperID);
+ paperPd.put("TITLE", paper.getTitle());
+ paperPd.put("USER_ID", paper.getUser_id());
+ paperPd.put("PAPER_TYPE", paper.getPaper_type());
+ paperPd.put("SUBJECT_ID", paper.getSubject_id());
+ paperPd.put("GRADE_ID", paper.getGrade_id());
+ paperPd.put("EXAM_TIME", paper.getExam_time());
+ paperPd.put("SCORE", paper.getScore());
+ paperPd.put("PAPER_STATE", "0");
+ paperPd.put("REMARK", "");
+ String schoolID = Myelfun.getUserID(paper.getUser_id());
+ paperPd.put("SCHOOL_ID", schoolID);
+ paperPd.put("CREATE_DATE", Tools.date2Str(new Date()));
+ paperPd.put("MODIFY_DATE", Tools.date2Str(new Date()));
+
+ paperService.save(paperPd);
+
+ List questions = paper.getQuestions();
+ if(questions != null){
+ for(Question question : questions){
+ String questionID = this.get32UUID();
+ PageData qPd = new PageData();
+ qPd.put("QUESTION_ID", questionID);
+ if(question.getQuestions() != null && question.getQuestions().size() > 0){
+ qPd.put("P_ID", "-1");
+ }else{
+ qPd.put("P_ID", "0");
+ }
+ qPd.put("SUBJECT_ID", paper.getSubject_id());
+ qPd.put("CHAPTER_ID", question.getChapter_id());
+ qPd.put("PROBLEM_TYPE_ID", question.getProblem_type_id());
+ qPd.put("TEACHER_ID", paper.getUser_id());
+ qPd.put("SCHOOL_ID", schoolID);
+ qPd.put("KNOWLEDGE_ID", question.getKnowledge_id());
+ qPd.put("CONTENT", question.getContent());
+ qPd.put("OPTION_NUM", question.getOption_num());
+ qPd.put("OPTION_CONTENT", question.getOption_content());
+ qPd.put("ANSWER", question.getAnswer());
+ qPd.put("DIFFICULTY", question.getDifficulty());
+ qPd.put("ANALYSIS", question.getAnalysis());
+ qPd.put("QUESTION_FROM", question.getQuestion_from());
+ qPd.put("SUG_SCORE", question.getScore());
+ qPd.put("SUG_PART_SCORE", question.getPart_score());
+ qPd.put("USER_ID", paper.getUser_id());
+ qPd.put("CREATE_DATE", Tools.date2Str(new Date()));
+ qPd.put("REMARK", "");
+ questionService.save(qPd);
+
+ PageData pqPd = new PageData();
+ pqPd.put("PAPER_ID",paperID);
+ pqPd.put("QUESTION_ID",questionID);
+ pqPd.put("SCORE",question.getScore());
+ pqPd.put("PART_SCORE","0");
+ pqPd.put("RANK",question.getRank());
+ pqPd.put("NO_NAME",question.getNo_name());
+ pqPd.put("PAPERQUESTION_ID",this.get32UUID());
+ paperquestionService.save(pqPd);
+
+
+ if(question.getQuestions() != null){
+ List qs = question.getQuestions();
+ for(Question q : qs){
+ String qID = this.get32UUID();
+ PageData cqPd = new PageData();
+ cqPd.put("QUESTION_ID", qID);
+ cqPd.put("P_ID", questionID);
+ cqPd.put("SUBJECT_ID", paper.getSubject_id());
+ cqPd.put("CHAPTER_ID", q.getChapter_id());
+ cqPd.put("PROBLEM_TYPE_ID", q.getProblem_type_id());
+ cqPd.put("TEACHER_ID", paper.getUser_id());
+ cqPd.put("SCHOOL_ID", schoolID);
+ cqPd.put("KNOWLEDGE_ID", q.getKnowledge_id());
+ cqPd.put("CONTENT", q.getContent());
+ cqPd.put("OPTION_NUM", q.getOption_num());
+ cqPd.put("OPTION_CONTENT", q.getOption_content());
+ cqPd.put("ANSWER", q.getAnswer());
+ cqPd.put("DIFFICULTY", q.getDifficulty());
+ cqPd.put("ANALYSIS", q.getAnalysis());
+ cqPd.put("QUESTION_FROM", q.getQuestion_from());
+ cqPd.put("SUG_SCORE", q.getScore());
+ cqPd.put("SUG_PART_SCORE", q.getSug_part_score());
+ cqPd.put("USER_ID", paper.getUser_id());
+ cqPd.put("CREATE_DATE", Tools.date2Str(new Date()));
+ cqPd.put("REMARK", "");
+
+ questionService.save(cqPd);
+
+ PageData cpqPd = new PageData();
+ cpqPd.put("PAPER_ID",paperID);
+ cpqPd.put("QUESTION_ID",qID);
+ cpqPd.put("SCORE",q.getScore());
+ cpqPd.put("PART_SCORE","0");
+ cpqPd.put("RANK",q.getRank());
+ cpqPd.put("NO_NAME",q.getNo_name());
+ cpqPd.put("PAPERQUESTION_ID",this.get32UUID());
+
+ paperquestionService.save(cpqPd);
+ }
+ }
+ }
+ }
+
+ }else{
+ res.setDataError();
+ }
+
+ return res.toJson();
+ }
+
}
diff --git a/src/com/fh/controller/api/V2.java b/src/com/fh/controller/api/V2.java
new file mode 100644
index 0000000..48583c4
--- /dev/null
+++ b/src/com/fh/controller/api/V2.java
@@ -0,0 +1,14 @@
+package com.fh.controller.api;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import com.fh.controller.base.BaseController;
+
+@Controller
+@RequestMapping(value = "/api/v2")
+public class V2 extends BaseController {
+
+
+
+}
diff --git a/src/com/fh/controller/base/BaseController.java b/src/com/fh/controller/base/BaseController.java
index 2c6e7b1..7c566ec 100644
--- a/src/com/fh/controller/base/BaseController.java
+++ b/src/com/fh/controller/base/BaseController.java
@@ -81,4 +81,6 @@ public class BaseController {
}
return "ERROR";
}
+
+
}
diff --git a/src/com/fh/controller/sunvote/Myelfun.java b/src/com/fh/controller/sunvote/Myelfun.java
index abd5ccb..421cbda 100644
--- a/src/com/fh/controller/sunvote/Myelfun.java
+++ b/src/com/fh/controller/sunvote/Myelfun.java
@@ -9,6 +9,7 @@ import com.fh.service.sunvote.questiontype.QuestionTypeManager;
import com.fh.service.sunvote.school.impl.SchoolService;
import com.fh.service.sunvote.sclass.impl.SClassService;
import com.fh.service.sunvote.subject.impl.SubjectService;
+import com.fh.service.sunvote.teacher.TeacherManager;
import com.fh.service.sunvote.teacher.impl.TeacherService;
import com.fh.service.sunvote.teachingmaterial.impl.TeachingMaterialService;
import com.fh.util.PageData;
@@ -197,4 +198,20 @@ public class Myelfun {
}
}
+ public static String getUserID(String user_id){
+ TeacherManager teacherService = (TeacherManager)SpringBeanFactoryUtils.getBean("teacherService");
+ PageData pd = new PageData();
+ pd.put("ID", user_id);
+ try {
+ pd = teacherService.findById(pd);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if(pd != null){
+ return pd.getString("SCHOOL_ID");
+ }else{
+ return "" ;
+ }
+ }
+
}
diff --git a/src/com/fh/controller/sunvote/paper/PaperController.java b/src/com/fh/controller/sunvote/paper/PaperController.java
index a89f46f..d1dab5f 100644
--- a/src/com/fh/controller/sunvote/paper/PaperController.java
+++ b/src/com/fh/controller/sunvote/paper/PaperController.java
@@ -8,7 +8,10 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+
import javax.annotation.Resource;
+
+import org.apache.shiro.session.Session;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
@@ -16,14 +19,21 @@ import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
+
+import com.fh.bean.Paper;
+import com.fh.bean.Question;
import com.fh.controller.base.BaseController;
import com.fh.entity.Page;
+import com.fh.entity.system.User;
import com.fh.util.AppUtil;
+import com.fh.util.Const;
import com.fh.util.ObjectExcelView;
import com.fh.util.PageData;
import com.fh.util.Jurisdiction;
import com.fh.util.Tools;
+import com.fh.service.api.V1Manager;
import com.fh.service.sunvote.paper.PaperManager;
+import com.fh.service.sunvote.paperquestion.PaperQuestionManager;
/**
* 说明:试卷
@@ -37,6 +47,12 @@ public class PaperController extends BaseController {
@Resource(name="paperService")
private PaperManager paperService;
+ @Resource(name="paperquestionService")
+ private PaperQuestionManager paperquestionService;
+
+ @Resource(name = "v1Service")
+ private V1Manager v1Service ;
+
/**保存
* @param
* @throws Exception
@@ -55,6 +71,20 @@ public class PaperController extends BaseController {
return mv;
}
+ /**保存
+ * @param
+ * @throws Exception
+ */
+ @RequestMapping(value="/newpaper")
+ public ModelAndView newPaper() throws Exception{
+ logBefore(logger, Jurisdiction.getUsername()+"新增Paper");
+ ModelAndView mv = this.getModelAndView();
+
+ mv.addObject("msg","success");
+ mv.setViewName("save_result");
+ return mv;
+ }
+
/**删除
* @param out
* @throws Exception
@@ -62,9 +92,11 @@ public class PaperController extends BaseController {
@RequestMapping(value="/delete")
public void delete(PrintWriter out) throws Exception{
logBefore(logger, Jurisdiction.getUsername()+"删除Paper");
- if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限
+// if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限
PageData pd = new PageData();
pd = this.getPageData();
+ String[] ArrayDATA_IDS = new String[]{pd.getString("PAPER_ID")};
+ paperquestionService.deleteAllPaper(ArrayDATA_IDS);
paperService.delete(pd);
out.write("success");
out.close();
@@ -111,6 +143,173 @@ public class PaperController extends BaseController {
return mv;
}
+ @RequestMapping(value="/iteminfo")
+ public ModelAndView iteminfo() 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();
+
+ if(pd.containsKey("PAPER_ID")){
+ try{
+ Paper paper = new Paper();
+ PageData ppd = paperService.findById(pd);
+ 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"));
+ 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("SUG_SCORE"));
+ question.setSug_part_score(qpd.getString("SUG_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"));
+ 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("SUG_SCORE"));
+ qq.setSug_part_score(q.getString("SUG_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);
+ }
+ }
+ pd.put("JSON", paper.toJson());
+ logger.info(paper.toJson());
+
+ }
+ }catch(Exception ex){
+ ex.printStackTrace();
+ }
+ }
+ mv.setViewName("sunvote/teacher/creat_question");
+ mv.addObject("pd", pd);
+ mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
+ return mv;
+ }
+
+
+ @RequestMapping(value="/npaper")
+ public ModelAndView newpaper() 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();
+ 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);
+ paper.setUser_id(user.getUSER_ID());
+ paper.setPaper_type("1");
+ paper.setSubject_id("1");
+ paper.setGrade_id("1");
+ paper.setQuestions(new ArrayList());
+ pd.put("JSON", paper.toJson());
+ logger.info(paper.toJson());
+
+ mv.setViewName("sunvote/teacher/creat_question");
+ mv.addObject("pd", pd);
+ 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;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
+ ModelAndView mv = this.getModelAndView();
+ PageData pd = new PageData();
+ pd = this.getPageData();
+ String keywords = pd.getString("keywords"); //关键词检索条件
+ if(null != keywords && !"".equals(keywords)){
+ pd.put("keywords", keywords.trim());
+ }
+ page.setPd(pd);
+ List varList = paperService.list(page); //列出Paper列表
+ mv.setViewName("sunvote/paper/paper_list2");
+
+ for(PageData p:varList){
+ String examTime = p.getString("EXAM_TIME");
+ 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 ;
+ }
+ if(et > 60){
+ examTime = min + ":" + sec;
+ }else{
+ examTime = "00:" + sec;
+ }
+ }catch(Exception e){
+ e.printStackTrace();
+ }
+ }
+ if(examTime == null){
+ examTime = "00:00";
+ }
+ p.put("EXAM_TIME", examTime);
+ }
+
+ mv.addObject("varList", varList);
+ mv.addObject("pd", pd);
+ mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
+ return mv;
+ }
+
/**去新增页面
* @param
* @throws Exception
@@ -126,6 +325,21 @@ public class PaperController extends BaseController {
return mv;
}
+ /**去新增页面
+ * @param
+ * @throws Exception
+ */
+ @RequestMapping(value="/goAddTest")
+ public ModelAndView goAddTest()throws Exception{
+ ModelAndView mv = this.getModelAndView();
+ PageData pd = new PageData();
+ pd = this.getPageData();
+ mv.setViewName("sunvote/paper/paper_edit2");
+ mv.addObject("msg", "newpaper");
+ mv.addObject("pd", pd);
+ return mv;
+ }
+
/**去修改页面
* @param
* @throws Exception
@@ -150,7 +364,7 @@ public class PaperController extends BaseController {
@ResponseBody
public Object deleteAll() throws Exception{
logBefore(logger, Jurisdiction.getUsername()+"批量删除Paper");
- if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限
+// if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限
PageData pd = new PageData();
Map map = new HashMap();
pd = this.getPageData();
@@ -159,6 +373,7 @@ public class PaperController extends BaseController {
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{
pd.put("msg", "no");
diff --git a/src/com/fh/controller/system/login/LoginController.java b/src/com/fh/controller/system/login/LoginController.java
index b6b8a0b..b86f9ad 100644
--- a/src/com/fh/controller/system/login/LoginController.java
+++ b/src/com/fh/controller/system/login/LoginController.java
@@ -21,7 +21,10 @@ import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.fh.controller.base.BaseController;
+import com.fh.service.api.V1Manager;
import com.fh.service.fhoa.datajur.DatajurManager;
+import com.fh.service.sunvote.school.SchoolManager;
+import com.fh.service.sunvote.teacher.TeacherManager;
import com.fh.service.system.appuser.AppuserManager;
import com.fh.service.system.buttonrights.ButtonrightsManager;
import com.fh.service.system.fhbutton.FhbuttonManager;
@@ -70,6 +73,13 @@ public class LoginController extends BaseController {
private FHlogManager FHLOG;
@Resource(name = "loginimgService")
private LogInImgManager loginimgService;
+ @Resource(name="teacherService")
+ private TeacherManager teacherService;
+ @Resource(name="schoolService")
+ private SchoolManager schoolService;
+
+ @Resource(name = "v1Service")
+ private V1Manager v1Service ;
/**
* 访问登录页
@@ -124,6 +134,9 @@ public class LoginController extends BaseController {
user.setNAME(pd.getString("NAME"));
user.setRIGHTS(pd.getString("RIGHTS"));
user.setROLE_ID(pd.getString("ROLE_ID"));
+ if("57bb1e6f138247a0b05cc721a5da1b64".equals(pd.getString("ROLE_ID"))){
+ map.put("teacher", pd.getString("RIGHTS"));
+ }
user.setLAST_LOGIN(pd.getString("LAST_LOGIN"));
user.setIP(pd.getString("IP"));
user.setSTATUS(pd.getString("STATUS"));
@@ -166,6 +179,7 @@ public class LoginController extends BaseController {
ModelAndView mv = this.getModelAndView();
PageData pd = new PageData();
pd = this.getPageData();
+
try {
Session session = Jurisdiction.getSession();
User user = (User) session.getAttribute(Const.SESSION_USER); // 读取session中的用户信息(单独用户信息)
@@ -189,16 +203,25 @@ public class LoginController extends BaseController {
allmenuList = this.getAttributeMenu(session, USERNAME,
roleRights, getArrayRoleRights(ROLE_IDS)); // 菜单缓存
List