forked from Gitlink/forgeplus
更改:燃尽图数据还原
This commit is contained in:
parent
67fe40606a
commit
845574f9e0
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue