From a2cafe7bda8fd23ba576d6b3165aaf46d24bd558 Mon Sep 17 00:00:00 2001 From: anke1460 Date: Wed, 25 Mar 2020 20:29:04 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E7=BB=9F=E8=AE=A1=E5=AD=A6=E6=A0=A1?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=8E=92=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admins/school_base_statistic_service.rb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/services/admins/school_base_statistic_service.rb b/app/services/admins/school_base_statistic_service.rb index 24bf1380f..1bbc13c7c 100644 --- a/app/services/admins/school_base_statistic_service.rb +++ b/app/services/admins/school_base_statistic_service.rb @@ -5,7 +5,7 @@ class Admins::SchoolBaseStatisticService < ApplicationService sort_columns :student_count, :teacher_count, :course_count, :course_group_count, :attachment_count, :video_count, :normal_work_count, :shixun_work_count, :shixun_evaluate_count, - :student_works_num, :exercise_count, default_direction: :desc + :student_work_count, :exercise_count, default_direction: :desc def initialize(params) @params = params @@ -77,17 +77,17 @@ class Admins::SchoolBaseStatisticService < ApplicationService case sort_by_column.to_s when 'teacher_count' then schools.joins('LEFT JOIN user_extensions ue ON ue.school_id = schools.id AND ue.identity = 0') - .select("#{base_query_column}, COUNT(*) teacher_count") + .select("#{base_query_column}, COUNT(ue.id) teacher_count") when 'student_count' then schools.joins('LEFT JOIN user_extensions ue ON ue.school_id = schools.id AND ue.identity = 1') .select("#{base_query_column}, COUNT(*) student_count") when 'course_count' then - schools.joins('LEFT JOIN courses ON courses.school_id = schools.id AND courses.is_delete = false') - .select("#{base_query_column}, COUNT(*) course_count") + schools.joins('LEFT JOIN courses ON courses.school_id = schools.id AND courses.is_delete = 0') + .select("#{base_query_column}, COUNT(courses.id) course_count") when 'course_group_count' then - schools.joins("LEFT JOIN courses ON courses.school_id = schools.id AND courses.is_delete = false + schools.joins("LEFT JOIN courses ON courses.school_id = schools.id AND courses.is_delete = 0 LEFT JOIN course_groups ON course_groups.course_id = courses.id") - .select("#{base_query_column}, COUNT(*) course_group_count") + .select("#{base_query_column}, COUNT(course_groups.id) course_group_count") when 'attachment_count' then schools.joins("LEFT JOIN courses cs ON cs.school_id = schools.id AND cs.is_delete = 0 LEFT JOIN attachments ON attachments.container_type ='Course' AND attachments.container_id = cs.id") @@ -106,14 +106,14 @@ class Admins::SchoolBaseStatisticService < ApplicationService .select("#{base_query_column}, COUNT(*) shixun_work_count") when 'student_work_count' then schools.joins("LEFT JOIN school_reports ON school_reports.school_id = schools.id") - .select("#{base_query_column}, COUNT(*) student_work_count") + .select("#{base_query_column}, SUM(student_work_count) AS student_work_count") when 'shixun_evaluate_count' then schools.joins('LEFT JOIN school_reports ON school_reports.school_id = schools.id') - .select("#{base_query_column}, COUNT(*) shixun_evaluate_count") + .select("#{base_query_column}, SUM(shixun_evaluate_count) AS shixun_evaluate_count") when 'exercise_count' then schools.joins('LEFT JOIN courses cs ON cs.school_id = schools.id AND cs.is_delete = 0 LEFT JOIN exercises ON exercises.course_id = cs.id') - .select("#{base_query_column}, COUNT(*) exercise_count") + .select("#{base_query_column}, COUNT(exercises.id) exercise_count") end end