试卷多选题的有效填写人数修改

dev_home
SylorHuang 5 years ago
parent 505c55f240
commit dd921942d4

@ -108,14 +108,16 @@ module ExercisesHelper
ques_less_title = nil ques_less_title = nil
ex_answers = ex.exercise_answers ex_answers = ex.exercise_answers
effictive_users = ex_answers.search_answer_users("user_id",user_ids) effictive_users = ex_answers.search_answer_users("user_id",user_ids)
effictive_users_count = effictive_users.where("exercise_choice_id is not null or (answer_text is not null and answer_text !='')").pluck(:user_id).uniq.size if ex.question_type != Exercise::COMPLETION
else else
ques_title = ex.shixun.name ques_title = ex.shixun.name
ques_less_title = ex.question_title ques_less_title = ex.question_title
ex_answers = ex.exercise_shixun_answers ex_answers = ex.exercise_shixun_answers
effictive_users = ex_answers.search_shixun_answers("user_id",user_ids) effictive_users = ex_answers.search_shixun_answers("user_id",user_ids)
effictive_users_count = effictive_users.pluck(:user_id).uniq.size
end end
effictive_users_count = effictive_users.size #有效回答数可能有重复的用户id这里仅统计是否回答这个问题的全部人数 # effictive_users_count = effictive_users.size #有效回答数可能有重复的用户id这里仅统计是否回答这个问题的全部人数
# #
if ex.question_type > Exercise::COMPLETION #当为主观题和实训题时, if ex.question_type > Exercise::COMPLETION #当为主观题和实训题时,
ex_answered_scores = effictive_users.score_reviewed.pluck(:score).sum #该问题的全部得分 ex_answered_scores = effictive_users.score_reviewed.pluck(:score).sum #该问题的全部得分
@ -125,9 +127,9 @@ module ExercisesHelper
if ex.question_type <= Exercise::JUDGMENT #选择题和判断题 if ex.question_type <= Exercise::JUDGMENT #选择题和判断题
ex_choices = ex.exercise_choices ex_choices = ex.exercise_choices
standard_answer = ex.exercise_standard_answers.pluck(:exercise_choice_id).sort #标准答案的位置 standard_answer = ex.exercise_standard_answers.pluck(:exercise_choice_id).sort #标准答案的位置
right_users_count = 0
#该问题的正确率 #该问题的正确率
if ex.question_type == Exercise::MULTIPLE #多选题 if ex.question_type == Exercise::MULTIPLE #多选题
if standard_answer.size == 1 #以前的多选题答案存在一个表里 if standard_answer.size == 1 #以前的多选题答案存在一个表里
standard_answer = standard_answer.first.to_s.split("").map(&:to_i) standard_answer = standard_answer.first.to_s.split("").map(&:to_i)
end end

Loading…
Cancel
Save