更改:燃尽图数据还原

This commit is contained in:
yystopf 2025-07-15 16:50:48 +08:00
parent 67fe40606a
commit 845574f9e0
1 changed files with 2 additions and 7 deletions

View File

@ -11,23 +11,18 @@ class Api::Pm::SprintIssuesController < Api::Pm::BaseController
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])
first_issue = @issues.order(created_on: :asc).first
start_time = Date.parse params[:start_time]
end_time = Date.parse params[:end_time]
time_count = (end_time - start_time).to_i + 1 # 计算间隔时间 加上最后一天
data = []
curren_issues = @issues.group(:pm_issue_type, :status_id, :due_date).count
total_count = @issues.count
cardinality = (total_count.zero? || time_count.zero?) ? 0 : total_count.to_f / time_count.to_f
# cardinality = BigDecimal.new(total_count) / BigDecimal.new(time_count)
flag = false
time_count.times do |x|
e_time = start_time + x
if flag == false && first_issue.created_on.to_date == e_time
flag = true
end
completed = curren_issues[[1, 2, e_time]].to_i + curren_issues[[1, 7, e_time]].to_i + curren_issues[[1, 8, e_time]].to_i + curren_issues[[2, 3, e_time]].to_i + curren_issues[[2, 5, e_time]].to_i + curren_issues[[2, 6, e_time]].to_i + curren_issues[[3, 3, e_time]].to_i + curren_issues[[3, 5, e_time]].to_i + curren_issues[[3, 6, e_time]].to_i
total_count = flag ? total_count - completed : 0
cardinality = (total_count.zero? || time_count.zero?) ? 0 : total_count.to_f / time_count.to_f
total_count = total_count - completed
data << { time: e_time, undone: total_count, completed: completed, base_number: (cardinality * (time_count - x - 1)).to_f.round(2) }
end
render_ok(data: data)