|
|
|
@ -202,10 +202,36 @@ public class ExamModel {
|
|
|
|
|
/**
|
|
|
|
|
* 功能:查看自己答卷的整体情况,哪个题目答对,哪个题目没有答,哪些答错(交卷后可见)
|
|
|
|
|
*/
|
|
|
|
|
public List<Record> 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<Record> 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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|