add burndown_charts

This commit is contained in:
呱呱呱
2024-01-23 17:08:06 +08:00
parent ea6295c888
commit 191153a39e
4 changed files with 65 additions and 41 deletions

View File

@@ -8,6 +8,26 @@ class Api::Pm::SprintIssuesController < Api::Pm::BaseController
render 'api/v1/issues/index'
end
def burndown_charts
return tip_exception '参数错误' if params[:pm_sprint_id].blank? || params[:start_time].blank? || params[:end_time].blank?
@issues = Issue.where(pm_sprint_id: params[:pm_sprint_id])
start_time = Date.parse params[:start_time]
end_time = Date.parse params[:end_time]
x = (end_time - start_time).to_i + 1 #计算间隔时间 加上最后一天
data = {}
curren_issues = @issues.group(:status_id,:due_date).count
x.times do |time|
e_time = start_time + time
undone = curren_issues[[1,nil]].to_i + curren_issues[[1,e_time]].to_i + curren_issues[[2,e_time]].to_i + curren_issues[[3,e_time]].to_i
completed = curren_issues[[4,e_time]].to_i + curren_issues[[5,e_time]].to_i
data[e_time] = {
undone: undone,
completed:completed
}
end
render_ok(data: data)
end
def statistics
pm_sprint_ids = params[:pm_sprint_ids].split(",") rescue []
return tip_exception '参数错误' if pm_sprint_ids.blank?