⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gradepaperhelper.java

📁 采用Eclispe开发平台
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        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 + -