From 19fff8df05ed00e73c792149a008143cce4d9549 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Mon, 28 Oct 2019 18:14:41 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=95=E5=8D=B7=E7=9A=84=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/exercises_controller.rb | 15 ++++++++++----- app/models/exercise.rb | 3 +++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index 99356946f..ecd0f9bec 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -1407,11 +1407,16 @@ class ExercisesController < ApplicationController min_score = exercise_scores.min.present? ? exercise_scores.min : 0.0 max_score = exercise_scores.max.present? ? exercise_scores.max : 0.0 total_score = exercise_scores.sum.present? ? exercise_scores.sum : 0.0 - average_score = @exercise_commit_user_counts > 0 ? (total_score / @exercise_commit_user_counts).round(1) : 0.0 - fail_counts = exercise_scores.count{|a| a < 60.0} - pass_counts = exercise_scores.count{|a| a < 70.0 && a >= 60.0} - good_counts = exercise_scores.count{|a| a < 90.0 && a >= 70.0} - best_counts = exercise_scores.count{|a| a >= 90.0 && a <= 100.0} + average_score = @exercise_commit_user_counts > 0 ? (total_score.round(1) / @exercise_commit_user_counts).round(1) : 0.0 + question_scores = @exercise.question_scores + fail_score = question_scores * 0.6.round(2) + pass_score = question_scores * 0.7.round(2) + good_score = question_scores * 0.9.round(2) + + fail_counts = exercise_scores.count{|a| a < fail_score} + pass_counts = exercise_scores.count{|a| a < pass_score && a >= fail_score} + good_counts = exercise_scores.count{|a| a < 90.0 && a >= pass_score} + best_counts = exercise_scores.count{|a| a >= good_score && a <= question_scores} end @counts_array = { :commit_percent => commit_percent, diff --git a/app/models/exercise.rb b/app/models/exercise.rb index 8469d25b6..0b9963eee 100644 --- a/app/models/exercise.rb +++ b/app/models/exercise.rb @@ -37,6 +37,9 @@ class Exercise < ApplicationRecord DEADLINE = 3 #已截止 ENDED = 4 #课堂已结束 + def question_scores + exercise_questions.pluck(:question_score).sum + end def create_exercise_list str = ""