From e1204e49914e90af2a965cb0b8d5e437d0f7d4b6 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Fri, 26 May 2017 11:21:38 +0200 Subject: [PATCH] OO-2784: add manual / auto / final score in results reportss --- .../qti21/ui/AssessmentResultController.java | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/olat/ims/qti21/ui/AssessmentResultController.java b/src/main/java/org/olat/ims/qti21/ui/AssessmentResultController.java index 354bf454f13..fc0d6cc2b61 100644 --- a/src/main/java/org/olat/ims/qti21/ui/AssessmentResultController.java +++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentResultController.java @@ -210,6 +210,10 @@ public class AssessmentResultController extends FormBasicController { TestResult testResult = assessmentResult.getTestResult(); if(testResult != null) { extractOutcomeVariable(testResult.getItemVariables(), testResults); + if(candidateSession.getManualScore() != null) { + testResults.addScore(candidateSession.getManualScore()); + testResults.setManualScore(candidateSession.getManualScore()); + } AssessmentTest assessmentTest = resolvedAssessmentTest.getRootNodeLookup().extractIfSuccessful(); Double cutValue = QtiNodesExtractor.extractCutValue(assessmentTest); @@ -293,6 +297,7 @@ public class AssessmentResultController extends FormBasicController { if(itemSession != null) { if(itemSession.getManualScore() != null) { r.setScore(itemSession.getManualScore()); + r.setManualScore(itemSession.getManualScore()); } r.setComment(itemSession.getCoachComment()); } @@ -424,7 +429,9 @@ public class AssessmentResultController extends FormBasicController { for(ItemVariable itemVariable:itemVariables) { if(itemVariable instanceof OutcomeVariable) { if(QTI21Constants.SCORE_IDENTIFIER.equals(itemVariable.getIdentifier())) { - results.setScore(getOutcomeNumberVariable(itemVariable)); + Double score = getOutcomeNumberVariable(itemVariable); + results.setScore(score); + results.setAutoScore(score); } else if(QTI21Constants.MAXSCORE_IDENTIFIER.equals(itemVariable.getIdentifier())) { results.setMaxScore(getOutcomeNumberVariable(itemVariable)); } else if(QTI21Constants.PASS_IDENTIFIER.equals(itemVariable.getIdentifier())) { @@ -507,6 +514,9 @@ public class AssessmentResultController extends FormBasicController { private Long duration; private Double score; + private Double manualScore; + private Double autoScore; + private Double maxScore; private Double cutValue; private Boolean pass; @@ -630,6 +640,33 @@ public class AssessmentResultController extends FormBasicController { } } + public void addScore(BigDecimal additionalScore) { + if(score == null) { + score = 0.0d; + } + score = score.doubleValue() + additionalScore.doubleValue(); + } + + public String getAutoScore() { + return AssessmentHelper.getRoundedScore(autoScore); + } + + public void setAutoScore(Double autoScore) { + if(autoScore != null) { + this.autoScore = autoScore.doubleValue(); + } + } + + public String getManualScore() { + return AssessmentHelper.getRoundedScore(manualScore); + } + + public void setManualScore(BigDecimal manualScore) { + if(manualScore != null) { + this.manualScore = manualScore.doubleValue(); + } + } + public boolean hasMaxScore() { return maxScore != null; } -- GitLab