dev_home
SylorHuang 5 years ago
parent 6ae0660c1f
commit ad8bbb40e2

@ -166,6 +166,15 @@ module ExercisesHelper
elsif ex.question_type == Exercise::COMPLETION #填空题
effictive_users_ids = effictive_users.where("answer_text is not null and answer_text !=''").pluck(:user_id).uniq
effictive_users_count = effictive_users_ids.size
user_wrong_count = 0
user_ids.each do |s|
user_score = effictive_users.where(user_id: s).pluck(:score).sum
unless user_score.to_s >= ex&.question_score.to_f
user_wrong_count + 1
end
end
# user_wrong_ids = effictive_users.where()
# user_wrong_count = (user_wrong_ids & effictive_users_ids).uniq.size
ex_ordered = ex.is_ordered
null_standard_answer = ex.exercise_standard_answers
null_stand_choice = null_standard_answer.pluck(:exercise_choice_id) #一个exercise_choice_id可能对应多个answer_text
@ -215,13 +224,6 @@ module ExercisesHelper
answer_user_score = all_user_count * each_null_score
percent = (ex_total_score == 0.0 ? 0.0 : (answer_user_score / ex_total_score.to_f).round(3) * 100) #正确率
# percent = commit_user_ids > 0 ? (all_user_count / commit_user_ids.to_f).round(3)*100 : 0.0
# user_right_count = effictive_users.where("score > 0.0").pluck(:user_id).uniq
# unanswer_user_count = effictive_users.where("score < 0.0 and answer_text is null or answer_text = ''").pluck(:user_id).uniq
user_wrong_ids = effictive_users.where("score < 0.0").pluck(:user_id)
user_wrong_count = (user_wrong_ids & effictive_users_ids).uniq.size
# user_wrong_count = (user_wrong_counts - user_right_count - unanswer_user_count).size
if effictive_users_count > 0 && user_wrong_count >= 0
wrong_percent = (user_wrong_count / effictive_users_count.to_f ).round(3)
else

Loading…
Cancel
Save