update burndown_charts

This commit is contained in:
呱呱呱 2024-01-25 09:01:35 +08:00
parent dbdebc6232
commit 27b81a5479
1 changed files with 8 additions and 7 deletions

View File

@ -13,15 +13,16 @@ class Api::Pm::SprintIssuesController < Api::Pm::BaseController
@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 #计算间隔时间 加上最后一天
base_number = (@issues.count / x).to_f
time_count = (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 << {time: e_time, undone: undone, completed:completed, base_number: (base_number * (x - time))}
total_count = @issues.count
cardinality = (total_count / time_count).to_f
time_count.times do |x|
e_time = start_time + x
completed = curren_issues[[5,e_time]].to_i + curren_issues[[3, e_time]].to_i - @issues.where(pm_issue_type: 3, status_id: 3).size
total_count = total_count - completed
data << {time: e_time, undone: total_count, completed:completed, base_number: (cardinality * (time_count - x))}
end
render_ok(data: data)
end