From 0c48eeb52bd59b10f51c18b153a02b76607fc0a4 Mon Sep 17 00:00:00 2001 From: yystopf Date: Tue, 21 Nov 2023 08:28:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=EF=BC=9A=E8=BF=AD=E4=BB=A3?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E9=A1=B9=E8=BF=9B=E5=BA=A6=E5=92=8C=E5=B7=A5?= =?UTF-8?q?=E6=97=B6=E5=AE=B9=E9=87=8F=E6=8E=A5=E5=8F=A3=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/pm/sprint_issues_controller.rb | 26 +++++-------------- config/routes/api.rb | 3 +-- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/app/controllers/api/pm/sprint_issues_controller.rb b/app/controllers/api/pm/sprint_issues_controller.rb index 6251690b4..49e2398e7 100644 --- a/app/controllers/api/pm/sprint_issues_controller.rb +++ b/app/controllers/api/pm/sprint_issues_controller.rb @@ -8,33 +8,21 @@ class Api::Pm::SprintIssuesController < Api::Pm::BaseController render 'api/v1/issues/index' end - def count + def statistics pm_sprint_ids = params[:pm_sprint_ids].split(",") rescue [] return tip_exception '参数错误' if pm_sprint_ids.blank? @issues = Issue.where(pm_sprint_id: pm_sprint_ids) data = {} @issues_count = @issues.group(:pm_sprint_id).count @issues_type_count = @issues.group(:pm_sprint_id, :status_id).count + @issues_hour_count = @issues.group(:pm_sprint_id).sum(:time_scale) + @issues_hour_type_count = @issues.group(:pm_sprint_id, :status_id).sum(:time_scale) pm_sprint_ids.map(&:to_i).map do |sprint_id| data[sprint_id] = { - total: @issues_count[sprint_id] || 0, - closed: @issues_type_count[[sprint_id, 5]] || 0 - } - end - render_ok(data: data) - end - - def hour - pm_sprint_ids = params[:pm_sprint_ids].split(",") rescue [] - return tip_exception '参数错误' if pm_sprint_ids.blank? - @issues = Issue.where(pm_sprint_id: pm_sprint_ids) - data = {} - @issues_count = @issues.group(:pm_sprint_id).sum(:time_scale) - @issues_type_count = @issues.group(:pm_sprint_id, :status_id).sum(:time_scale) - pm_sprint_ids.map(&:to_i).map do |sprint_id| - data[sprint_id] = { - total: @issues_count[sprint_id] || 0, - closed: @issues_type_count[[sprint_id, 5]] || 0 + count_total: @issues_count[sprint_id] || 0, + count_closed: @issues_type_count[[sprint_id, 5]] || 0, + hour_total: @issues_hour_count[sprint_id] || 0, + hour_closed: @issues_hour_type_count[[sprint_id, 5]] || 0 } end render_ok(data: data) diff --git a/config/routes/api.rb b/config/routes/api.rb index 487a2abfd..e04218143 100644 --- a/config/routes/api.rb +++ b/config/routes/api.rb @@ -23,8 +23,7 @@ defaults format: :json do end resources :sprint_issues, only: [:index] do collection do - get :count - get :hour + get :statistics end end resources :projects do