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 5844bec..05b51bd 100644 --- a/src/main/java/com/dsideal/FengHuang/Exam/Controller/ExamController.java +++ b/src/main/java/com/dsideal/FengHuang/Exam/Controller/ExamController.java @@ -154,8 +154,8 @@ public class ExamController extends Controller { @Before({GET.class}) public void getPersonAllInfoAfterJiaoJuan() { String person_id = getCookie("person_id"); - List list = em.getPersonAllInfoAfterJiaoJuan(person_id); - renderJson(list); + Kv kv = em.getPersonAllInfoAfterJiaoJuan(person_id); + renderJson(kv); } /********************************上面为答题人员的接口************************************/ 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 ecae26b..1084a41 100644 --- a/src/main/java/com/dsideal/FengHuang/Exam/Model/ExamModel.java +++ b/src/main/java/com/dsideal/FengHuang/Exam/Model/ExamModel.java @@ -202,10 +202,36 @@ public class ExamModel { /** * 功能:查看自己答卷的整体情况,哪个题目答对,哪个题目没有答,哪些答错(交卷后可见) */ - public List getPersonAllInfoAfterJiaoJuan(String person_id) { + public Kv getPersonAllInfoAfterJiaoJuan(String person_id) { + Kv res = Kv.create(); Kv kv = Kv.by("person_id", person_id); SqlPara sqlPara = Db.getSqlPara("Exam.getPersonAllInfoAfterJiaoJuan", kv); - return Db.find(sqlPara); + List list = Db.find(sqlPara); + int sum = 0; + for (Record record : list) { + String answer = record.getStr("answer"); + String reply = record.getStr("reply"); + if (answer.equals(reply)) sum += record.getInt("score"); + } + res.set("list", list); + res.set("sum", sum); + //开始结束时间,用时 + String sql = "select * from t_exam_person where person_id=?"; + Record r = Db.findFirst(sql, person_id); + LocalDateTime start_time = r.getLocalDateTime("start_time"); + LocalDateTime end_time = r.getLocalDateTime("end_time"); + res.set("start_time", start_time); + res.set("end_time", end_time); + // 计算时间差 + Duration duration = Duration.between(start_time, end_time); + long seconds = duration.getSeconds(); // 获取时间差秒数 + long hour = seconds / 3600; + long minute = (seconds - hour * 3600) / 60; + long second = seconds - hour * 3600 - minute * 60; + res.set("hour", hour); + res.set("minute", minute); + res.set("second", second); + return res; } /**