diff --git a/src/main/java/com/dsideal/FengHuang/Exam/Controller/ExamController.java b/src/main/java/com/dsideal/FengHuang/Exam/Controller/ExamController.java index 188263a..e0a4c2a 100644 --- a/src/main/java/com/dsideal/FengHuang/Exam/Controller/ExamController.java +++ b/src/main/java/com/dsideal/FengHuang/Exam/Controller/ExamController.java @@ -89,6 +89,46 @@ public class ExamController extends Controller { renderJson(kv); } + /** + * 功能:查看自己答卷的整体情况,哪个题目答了,哪个题目没有答 + * reply为 null或空串表示未答题 + */ + @Before({GET.class}) + public void getPersonAllInfo() { + String person_id = getCookie("person_id"); + List list = em.getPersonAllInfo(person_id); + renderJson(list); + } + + /** + * 功能:获取指定题目的信息(交卷后可见) + * + * @param order_id + */ + @Before({GET.class}) + public void getQuestionAfterJiaoJuan(int order_id) { + String person_id = getCookie("person_id"); + Record record = em.getQuestionAfterJiaoJuan(person_id, order_id); + renderJson(record); + } + + /** + * 功能:查看自己答卷的整体情况,哪个题目答了,哪个题目没有答(交卷后可见) + answer = reply 正确 + answer ≠ reply 错误 + reply is null || reply == '' 未作答 + */ + @Before({GET.class}) + public void getPersonAllInfoAfterJiaoJuan() { + String person_id = getCookie("person_id"); + List list = em.getPersonAllInfoAfterJiaoJuan(person_id); + renderJson(list); + } + + /********************************上面为答题人员的接口************************************/ + + + /********************************下面为管理人员的接口************************************/ /** * 功能:删除考试人员 * diff --git a/src/main/java/com/dsideal/FengHuang/Exam/Model/ExamModel.java b/src/main/java/com/dsideal/FengHuang/Exam/Model/ExamModel.java index 93fab0a..37b88c4 100644 --- a/src/main/java/com/dsideal/FengHuang/Exam/Model/ExamModel.java +++ b/src/main/java/com/dsideal/FengHuang/Exam/Model/ExamModel.java @@ -137,4 +137,32 @@ public class ExamModel { Page pageRecord = Db.paginate(page, limit, sqlPara); return pageRecord; } + + /** + * 功能:查看自己答卷的整体情况,哪个题目答了,哪个题目没有答 + */ + public List getPersonAllInfo(String person_id) { + String sql = "select * from t_exam_record where person_id=?"; + return Db.find(sql, person_id); + } + + /** + * 功能:获取指定题目的信息(交卷后可见)+答案 + * + * @param order_id + */ + public Record getQuestionAfterJiaoJuan(String person_id, int order_id) { + String sql = "select question_id from t_exam_record where person_id=? and order_id=?"; + int question_id = Db.findFirst(sql, person_id, order_id).getInt("question_id"); + return Db.findById("t_exam_question", "question_id", question_id); + } + + /** + * 功能:查看自己答卷的整体情况,哪个题目答对,哪个题目没有答,哪些答错(交卷后可见) + */ + public List getPersonAllInfoAfterJiaoJuan(String person_id) { + Kv kv = Kv.by("person_id", person_id); + SqlPara sqlPara = Db.getSqlPara("Exam.getPersonAllInfoAfterJiaoJuan", kv); + return Db.find(sqlPara); + } } diff --git a/src/main/resource/Sql/Exam.sql b/src/main/resource/Sql/Exam.sql index 292d449..11d8eff 100644 --- a/src/main/resource/Sql/Exam.sql +++ b/src/main/resource/Sql/Exam.sql @@ -5,4 +5,10 @@ where t1.reply=t1.answer group by t1.person_id,t2.person_name order by sum(t1.score) desc,timediff(t2.end_time,t2.start_time) asc #end + + #sql("getPersonAllInfoAfterJiaoJuan") + select t1.*,t2.answer from t_exam_record as t1 + inner join t_exam_question as t2 on t1.question_id=t2.question_id + where t1.person_id=#para(person_id) order by t1.order_id + #end #end \ No newline at end of file