|  |  | @ -113,17 +113,35 @@ module ExercisesHelper | 
			
		
	
		
		
			
				
					
					|  |  |  |       if ex.question_type <= Exercise::JUDGMENT  #选择题和判断题 |  |  |  |       if ex.question_type <= Exercise::JUDGMENT  #选择题和判断题 | 
			
		
	
		
		
			
				
					
					|  |  |  |         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  #该问题的回答正确的人数 |  |  |  |         right_users_count = 0  #该问题的回答正确的人数 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |         # if ex.question_type == Exercise::MULTIPLE  #多选题 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         #计算每个问题的答案人数 |  |  |  |         #   user_ids.each do |user_id| | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         # commit_users.transaction do |  |  |  |         #     answer_choice_array = effictive_users.select(:user_id,:exercise_choice_id).where(user_id:user_id)&.map {|s| s.exercise_choice.choice_position}.uniq | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         # |  |  |  |         #     if answer_choice_array.sort == standard_answer | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         #       right_users_count += 1 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         #     end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         #   end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         # else  #单选题和判断题 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         #   user_ids.each do |user_id| | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         #     answer_choice_array = effictive_users.select(:user_id,:exercise_choice_id).find_by(user_id:user_id)&.exercise_choice.choice_position | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         #     if [answer_choice_array] == standard_answer | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         #       right_users_count += 1 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         #     end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         #   end | 
			
		
	
		
		
			
				
					
					|  |  |  |         # end |  |  |  |         # end | 
			
		
	
		
		
			
				
					
					|  |  |  |         user_ids.each do |user_id| |  |  |  |         user_ids.each do |user_id| | 
			
		
	
		
		
			
				
					
					|  |  |  |           answer_choice_array = effictive_users.select(:user_id,:exercise_choice_id).find(user_id:user_id)&.map {|s| s.exercise_choice.choice_position}.uniq |  |  |  |           if ex.question_type == Exercise::MULTIPLE | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           if answer_choice_array.sort == standard_answer |  |  |  |             answer_choice_array = effictive_users.select(:user_id,:exercise_choice_id).where(user_id:user_id)&.map {|s| s.exercise_choice.choice_position}.uniq | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             right_users_count += 1 |  |  |  |             if answer_choice_array.sort == standard_answer | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               right_users_count += 1 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           else | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             answer_choice_array = effictive_users.select(:user_id,:exercise_choice_id).find_by(user_id:user_id)&.exercise_choice.choice_position | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if [answer_choice_array] == standard_answer | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               right_users_count += 1 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             end | 
			
		
	
		
		
			
				
					
					|  |  |  |           end |  |  |  |           end | 
			
		
	
		
		
			
				
					
					|  |  |  |         end |  |  |  |         end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         percent = effictive_users_count > 0 ? (right_users_count / effictive_users_count.to_f).round(3)*100 : 0.0 |  |  |  |         percent = effictive_users_count > 0 ? (right_users_count / effictive_users_count.to_f).round(3)*100 : 0.0 | 
			
		
	
		
		
			
				
					
					|  |  |  |         ex.exercise_choices.each do |c| |  |  |  |         ex.exercise_choices.each do |c| | 
			
		
	
		
		
			
				
					
					|  |  |  |           right_answer = standard_answer.include?(c.choice_position)   #选项的标准答案为选项的位置 |  |  |  |           right_answer = standard_answer.include?(c.choice_position)   #选项的标准答案为选项的位置 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |