From b8d7ec2a77939b61103d1583a23314fdb2ff09de Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Wed, 19 Feb 2020 15:58:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E8=AE=AD=E4=BD=9C=E4=B8=9A=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E5=AE=8C=E6=88=90=E5=81=9A=E9=A2=98?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/homework_commons_helper.rb | 11 +++++++++++ app/views/homework_commons/index.json.jbuilder | 8 +++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/helpers/homework_commons_helper.rb b/app/helpers/homework_commons_helper.rb index 3061a6e80..2ffc3872f 100644 --- a/app/helpers/homework_commons_helper.rb +++ b/app/helpers/homework_commons_helper.rb @@ -177,6 +177,17 @@ module HomeworkCommonsHelper type == 2 ? student_works.size : (type == 1 ? student_works.where("work_status != 0").size : student_works.where(work_status: 0).size) end + # 作品数统计 + def calculate_work_count homework_common, member + count = {} + student_works = homework_common.teacher_works(member) + count[:commit_count] = student_works.select{|work| work.work_status != 0 }.size + count[:uncommit_count] = student_works.select{|work| work.work_status == 0 }.size + count[:compelete_count] = Myshixun.where(id: student_works.pluck(:myshixun_id).reject(&:blank?), status: 1).size + count[:all_count] = student_works.size + count + end + # 上次查重的时间 def last_review_time homework_common, course_group review = homework_common.homework_group_reviews.where(:course_group_id => course_group.id).last diff --git a/app/views/homework_commons/index.json.jbuilder b/app/views/homework_commons/index.json.jbuilder index 6b34eb220..6d64cf1f1 100644 --- a/app/views/homework_commons/index.json.jbuilder +++ b/app/views/homework_commons/index.json.jbuilder @@ -25,9 +25,11 @@ json.homeworks @homework_commons.each do |homework| json.upper_category_name homework.course_second_category&.name unless params[:category] unless curr_status[:status].include?("未发布") - json.commit_count studentwork_count homework, 1, @member - json.uncommit_count studentwork_count homework, 0, @member - json.all_count studentwork_count homework, 2, @member + work_count = calculate_work_count homework, @member + json.commit_count work_count[:commit_count] + json.uncommit_count work_count[:uncommit_count] + json.all_count work_count[:all_count] + json.compelete_count work_count[:compelete_count] end if homework.homework_type == "practice"