|
@@ -182,9 +182,10 @@ public class ExamService {
|
|
|
for(PaperVO.QuestionAnswer question : answerSheet.getQuestions()) {
|
|
for(PaperVO.QuestionAnswer question : answerSheet.getQuestions()) {
|
|
|
if(CollectionUtils.isNotEmpty(question.getSubQuestions())) {
|
|
if(CollectionUtils.isNotEmpty(question.getSubQuestions())) {
|
|
|
for(PaperVO.QuestionAnswer sq : question.getSubQuestions()) {
|
|
for(PaperVO.QuestionAnswer sq : question.getSubQuestions()) {
|
|
|
|
|
+ PaperVO.QuestionAnswer stdAnswer = questionMap.get(sq.getId());
|
|
|
LearnAnswer answer = buildAnswer(answerSheet, questionMap, sq, answersList);
|
|
LearnAnswer answer = buildAnswer(answerSheet, questionMap, sq, answersList);
|
|
|
if(answerSheet.getIsDone()) {
|
|
if(answerSheet.getIsDone()) {
|
|
|
- totalScore += sq.getScore();
|
|
|
|
|
|
|
+ totalScore += stdAnswer.getTotalScore();
|
|
|
score += answer.getScore();
|
|
score += answer.getScore();
|
|
|
if(!answer.getState().equals(1)) {
|
|
if(!answer.getState().equals(1)) {
|
|
|
wrongCount++;
|
|
wrongCount++;
|
|
@@ -192,9 +193,10 @@ public class ExamService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
|
|
+ PaperVO.QuestionAnswer stdAnswer = questionMap.get(question.getId());
|
|
|
LearnAnswer answer = buildAnswer(answerSheet, questionMap, question, answersList);
|
|
LearnAnswer answer = buildAnswer(answerSheet, questionMap, question, answersList);
|
|
|
if(answerSheet.getIsDone()) {
|
|
if(answerSheet.getIsDone()) {
|
|
|
- totalScore += question.getScore();
|
|
|
|
|
|
|
+ totalScore += stdAnswer.getTotalScore();
|
|
|
score += answer.getScore();
|
|
score += answer.getScore();
|
|
|
if(!answer.getState().equals(1)) {
|
|
if(!answer.getState().equals(1)) {
|
|
|
wrongCount++;
|
|
wrongCount++;
|
|
@@ -334,8 +336,8 @@ public class ExamService {
|
|
|
answer.setNotKnow(null != question.getIsNotKnow() && question.getIsNotKnow());
|
|
answer.setNotKnow(null != question.getIsNotKnow() && question.getIsNotKnow());
|
|
|
answer.setState(question.calcState(stdAnswer, answerSheet.getIsDone()));
|
|
answer.setState(question.calcState(stdAnswer, answerSheet.getIsDone()));
|
|
|
if (answerSheet.getIsDone()) {
|
|
if (answerSheet.getIsDone()) {
|
|
|
- answer.setScore(answer.getState() == 1 ? stdAnswer.getScore() : 0);
|
|
|
|
|
- answer.setScoreRate(answer.getScore() * 100 / stdAnswer.getScore());
|
|
|
|
|
|
|
+ answer.setScore(answer.getState() == 1 ? stdAnswer.getTotalScore() : 0);
|
|
|
|
|
+ answer.setScoreRate(answer.getScore() * 100 / stdAnswer.getTotalScore());
|
|
|
}
|
|
}
|
|
|
return answer;
|
|
return answer;
|
|
|
}
|
|
}
|