class StatisticSchoolReportTask def call # School.find_each do |school| # evaluate_count = Game.joins(:challenge) # .joins('LEFT JOIN course_members ON course_members.user_id = games.user_id') # .joins('LEFT JOIN homework_commons_shixuns hcs ON hcs.shixun_id = challenges.shixun_id') # .joins('LEFT JOIN homework_commons hc ON hcs.homework_common_id = hc.id AND hc.homework_type = 4') # .joins('LEFT JOIN courses ON hc.course_id = courses.id AND course_members.course_id = courses.id') # .where(courses: { school_id: school.id }) # .sum(:evaluate_count) # # report = SchoolReport.find_or_initialize_by(school_id: school.id) # # report.school_name = school.name # report.shixun_evaluate_count = evaluate_count # # report.save # end end end