新增:迭代中工作项进度和工时容量统计

This commit is contained in:
yystopf 2023-11-20 16:40:20 +08:00
parent 39423ff6ea
commit d6fbdd87d0
2 changed files with 39 additions and 1 deletions

View File

@ -1,11 +1,44 @@
class Api::Pm::SprintIssuesController < Api::Pm::BaseController
before_action :require_login, except: [:index]
def index
@issues = Api::Pm::SprintIssues::ListService.call(query_params, current_user)
@issues = kaminari_paginate(@issues)
render 'api/v1/issues/index'
end
def count
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
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
}
end
render_ok(data: data)
end
def query_params
params.permit(

View File

@ -21,7 +21,12 @@ defaults format: :json do
end
end
end
resources :sprint_issues, only: [:index]
resources :sprint_issues, only: [:index] do
collection do
get :count
get :hour
end
end
resources :projects do
collection do
get :convert