📄 gradepaperhelper.java
字号:
sb.append("AND d.QuestionId = " + question_id);
Object[] objs = UserSQLExecuter.executeQuery(sb.toString());
session.setAttribute("QuestionInstances", objs);
}
public static void setSearchedQuestionStat(DynaActionForm form, HttpSession session) {
Integer class_id = (Integer) form.get("ClassId");
Integer course_id = (Integer) form.get("CourseId");
Integer exam_id = (Integer) form.get("ExamId");
Integer state = (Integer) form.get("GradeState");
t_user user = (t_user) session.getAttribute("Teacher");
StringBuffer sb = new StringBuffer(
"SELECT " +
"e.QuestionId QuestionId, " +
"count(*) nCount " +
"FROM " +
"t_exam_question_submit a," +
"t_exam_submit b, " +
"t_exam_assigned c, " +
"t_exam_question d, " +
"t_question e, " +
"t_class_course f, " +
"t_class g, " +
"t_exam h, " +
"t_student i " +
"WHERE " +
"b.State < 5 AND b.State > 1 AND " +
"a.SubmitId = b.SubmitId AND " +
"g.State = 1 AND " +
"f.State = 1 AND " +
"b.AssignmentId = c.AssignmentId AND " +
"c.ExamId = d.ExamId AND " +
"c.ExamId = h.ExamId AND " +
"h.QuestionType <> 1 AND " +
"b.PaperId = d.PaperId AND " +
"a.QuestionSeq = d.QuestionSeq AND " +
"d.QuestionId = e.QuestionId AND " +
"b.UserId = i.UserId AND " +
"i.ClassId = f.ClassId AND " +
"g.ClassId = f.ClassId AND " +
"f.CourseId = e.CourseId "
);
sb.append("AND f.TeacherId = " + user.UserId);
if (class_id.intValue() != 0) {
sb.append(" AND f.ClassId = " + class_id);
}
if (course_id.intValue() != 0) {
sb.append(" AND f.CourseId = " + course_id);
}
if (exam_id.intValue() != 0) {
sb.append(" AND h.ExamId = " + exam_id);
}
if (state.intValue() == 1) {
sb.append(" AND a.Mark = -1 ");
}
if (state.intValue() == 2) {
sb.append(" AND a.Mark > -1 ");
}
sb.append(" GROUP BY e.QuestionId");
Object[] objs = UserSQLExecuter.executeQuery(sb.toString());
session.setAttribute("QuestionStat", objs);
}
public static void setGradingQuestions(Integer submit_id, HttpSession session) {
Object[] objs = UserSQLExecuter.executeQuery(
"SELECT " +
"a.QuestionSeq QuestionSeq, " +
"f.QuestionId QuestionId, " +
"f.Content Content, " +
"f.Answer Answer, " +
"a.Mark Mark " +
"FROM " +
"t_exam_question_submit a," +
"t_exam_submit c, " +
"t_exam_assigned d, " +
"t_exam_question e, " +
"t_question f " +
"WHERE " +
"a.SubmitId = c.SubmitId AND " +
"c.AssignmentId = d.AssignmentId AND " +
"d.ExamId = e.ExamId AND " +
"e.QuestionSeq = a.QuestionSeq AND " +
"c.PaperId = e.PaperId AND " +
"e.QuestionId = f.QuestionId AND " +
"a.SubmitId = " + submit_id
);
session.setAttribute("Questions", objs);
}
public static Hashtable setGradingQuestion(Integer submit_id, Integer seq, HttpSession session) {
Object[] objs = UserSQLExecuter.executeQuery(
"SELECT " +
"e.QuestionId QuestionId, " +
"a.Answer StudentAnswer, " +
"a.Mark Mark, " +
"a.PointMark PointMark, " +
"a.TeacherComment TeacherComment, " +
"e.Answer RightAnswer, " +
"e.Content Content, " +
"e.QuestionType QuestionType, " +
"e.ReferenceUrl ReferenceUrl " +
"FROM " +
"t_exam_question_submit a, " +
"t_exam_submit b, " +
"t_exam_assigned c, " +
"t_exam_question d, " +
"t_question e " +
"WHERE " +
"a.SubmitId = b.SubmitId AND " +
"b.AssignmentId = c.AssignmentId AND " +
"c.ExamId = d.ExamId AND " +
"b.PaperId = d.PaperId AND " +
"d.QuestionId = e.QuestionId AND " +
"a.QuestionSeq = d.QuestionSeq AND " +
"a.SubmitId = " + submit_id + " AND " +
"a.QuestionSeq = " + seq
);
if (objs.length > 0) {
session.setAttribute("GradingQuestion", objs[0]);
Hashtable hash = (Hashtable) objs[0];
Object[] answer_file = UserSQLExecuter.executeQuery("select FileName from t_question_file where FileName like 'answer%' AND QuestionId = " + hash.get("QuestionId").toString());
if (answer_file.length > 0) {
session.setAttribute("AnswerFileName", ((Hashtable) answer_file[0]).get("FileName").toString());
} else {
session.removeAttribute("AnswerFileName");
}
return (Hashtable) objs[0];
}
return null;
}
public static void setGradingPoints(Integer submit_id, Integer seq, Object point_mark, HttpSession session) {
Object[] objs = UserSQLExecuter.executeQuery(
"SELECT " +
"e.PointId PointId," +
"e.PointContent PointContent," +
"e.Mark Mark " +
"FROM " +
"t_exam_question_submit a, " +
"t_exam_submit b, " +
"t_exam_assigned c, " +
"t_exam_question d, " +
"t_question_point e " +
"WHERE " +
"a.SubmitId = b.SubmitId AND " +
"b.AssignmentId = c.AssignmentId AND " +
"c.ExamId = d.ExamId AND " +
"a.QuestionSeq = d.QuestionSeq AND " +
"b.PaperId = d.PaperId AND " +
"d.QuestionId = e.QuestionId AND " +
"a.SubmitId = " + submit_id + " AND " +
"a.QuestionSeq = " + seq + " " +
"ORDER BY e.PointId "
);
session.setAttribute("GradingPoints", objs);
Integer[] pms = parsePointMark(point_mark);
if (pms.length == objs.length) {
for (int i = 0; i < objs.length; i++) {
((Hashtable) objs[i]).put("StudentMark", pms[i]);
}
}
}
private static Integer[] parsePointMark(Object point_mark) {
if (point_mark == null) {
return new Integer[0];
}
StringBuffer sb = new StringBuffer(point_mark.toString());
ArrayList al = new ArrayList();
while (true) {
if (sb.length() < 1) break;
int i = sb.indexOf(" ");
if (i == -1) {
al.add(Integer.valueOf(sb.toString()));
break;
} else {
al.add(Integer.valueOf(sb.substring(0, i)));
}
sb.delete(0, i + 1);
}
return (Integer[]) al.toArray(new Integer[al.size()]);
}
public static void setQuestion(Integer question_id, HttpSession session) {
QuerySQLExecuter sql = new QuerySQLExecuter();
sql.setReturnClassName("t_question");
sql.appendTableName("t_question");
sql.appendColumn("*");
sql.appendWhereCondition("QuestionId", "=", question_id);
Object[] objs = sql.executeQuery();
if (objs.length > 0) {
session.setAttribute("Question", objs[0]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -