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