更改:统计工作项容量以及预估工时
This commit is contained in:
parent
fe4f56dd36
commit
93514e8a73
|
@ -10,6 +10,7 @@ class Api::Pm::IssuesController < Api::Pm::BaseController
|
||||||
@total_issues_count = @object_result[:total_issues_count]
|
@total_issues_count = @object_result[:total_issues_count]
|
||||||
@opened_issues_count = @object_result[:opened_issues_count]
|
@opened_issues_count = @object_result[:opened_issues_count]
|
||||||
@closed_issues_count = @object_result[:closed_issues_count]
|
@closed_issues_count = @object_result[:closed_issues_count]
|
||||||
|
@complete_issues_count = @object_result[:complete_issues_count]
|
||||||
if params[:only_name].present?
|
if params[:only_name].present?
|
||||||
@issues = kaminary_select_paginate(
|
@issues = kaminary_select_paginate(
|
||||||
@object_result[:data].select(:id, :subject, :project_issues_index, :updated_on, :created_on))
|
@object_result[:data].select(:id, :subject, :project_issues_index, :updated_on, :created_on))
|
||||||
|
|
|
@ -20,11 +20,15 @@ class Api::Pm::SprintIssuesController < Api::Pm::BaseController
|
||||||
@issues_hour_count = @issues.group(:pm_sprint_id).sum(:time_scale)
|
@issues_hour_count = @issues.group(:pm_sprint_id).sum(:time_scale)
|
||||||
@issues_hour_type_count = @issues.group(:pm_sprint_id, :status_id).sum(:time_scale)
|
@issues_hour_type_count = @issues.group(:pm_sprint_id, :status_id).sum(:time_scale)
|
||||||
pm_sprint_ids.map(&:to_i).map do |sprint_id|
|
pm_sprint_ids.map(&:to_i).map do |sprint_id|
|
||||||
|
# count_closed 工作项已完成/已关闭数量,需排除已修复的缺陷数量
|
||||||
|
count_closed = @issues_type_count[[sprint_id, 5]].to_i + @issues_type_count[[sprint_id, 3]].to_i - @issues.where(pm_issue_type: 3, status_id: 3).size
|
||||||
|
# hour_closed 已完成/已关闭 预估工时之和,需排除已修复的缺陷预估工时
|
||||||
|
hour_closed = @issues_hour_type_count[[sprint_id, 5]].to_f + @issues_hour_type_count[[sprint_id, 3]].to_f - @issues.where(pm_issue_type: 3, status_id: 3).sum(:time_scale).to_f
|
||||||
data[sprint_id] = {
|
data[sprint_id] = {
|
||||||
count_total: @issues_count[sprint_id] || 0,
|
count_total: @issues_count[sprint_id] || 0,
|
||||||
count_closed: @issues_type_count[[sprint_id, 5]] || 0,
|
count_closed: count_closed || 0,
|
||||||
hour_total: @issues_hour_count[sprint_id] || 0,
|
hour_total: @issues_hour_count[sprint_id].to_f || 0,
|
||||||
hour_closed: @issues_hour_type_count[[sprint_id, 5]] || 0,
|
hour_closed: hour_closed || 0,
|
||||||
requirement: @issues_pm_type_count[[sprint_id, 1]] || 0,
|
requirement: @issues_pm_type_count[[sprint_id, 1]] || 0,
|
||||||
task: @issues_pm_type_count[[sprint_id, 2]] || 0,
|
task: @issues_pm_type_count[[sprint_id, 2]] || 0,
|
||||||
bug: @issues_pm_type_count[[sprint_id, 3]] || 0
|
bug: @issues_pm_type_count[[sprint_id, 3]] || 0
|
||||||
|
|
|
@ -5,7 +5,7 @@ class Api::V1::Issues::ListService < ApplicationService
|
||||||
attr_reader :begin_date, :end_date
|
attr_reader :begin_date, :end_date
|
||||||
attr_reader :milestone_id, :assigner_id, :status_id, :sort_by, :sort_direction, :current_user
|
attr_reader :milestone_id, :assigner_id, :status_id, :sort_by, :sort_direction, :current_user
|
||||||
attr_reader :pm_project_id, :pm_sprint_id, :root_id, :pm_issue_type, :status_ids
|
attr_reader :pm_project_id, :pm_sprint_id, :root_id, :pm_issue_type, :status_ids
|
||||||
attr_accessor :queried_issues, :total_issues_count, :closed_issues_count, :opened_issues_count
|
attr_accessor :queried_issues, :total_issues_count, :closed_issues_count, :opened_issues_count, :complete_issues_count
|
||||||
|
|
||||||
validates :category, inclusion: { in: %w[all opened closed], message: '请输入正确的Category'}
|
validates :category, inclusion: { in: %w[all opened closed], message: '请输入正确的Category'}
|
||||||
validates :participant_category, inclusion: { in: %w[all aboutme authoredme assignedme atme], message: '请输入正确的ParticipantCategory'}
|
validates :participant_category, inclusion: { in: %w[all aboutme authoredme assignedme atme], message: '请输入正确的ParticipantCategory'}
|
||||||
|
@ -41,7 +41,13 @@ class Api::V1::Issues::ListService < ApplicationService
|
||||||
# begin
|
# begin
|
||||||
issue_query_data
|
issue_query_data
|
||||||
|
|
||||||
{data: queried_issues, total_issues_count: @total_issues_count, closed_issues_count: @closed_issues_count, opened_issues_count: @opened_issues_count}
|
{
|
||||||
|
data: queried_issues,
|
||||||
|
total_issues_count: @total_issues_count,
|
||||||
|
closed_issues_count: @closed_issues_count,
|
||||||
|
opened_issues_count: @opened_issues_count,
|
||||||
|
complete_issues_count: @complete_issues_count
|
||||||
|
}
|
||||||
# rescue
|
# rescue
|
||||||
# raise Error, "服务器错误,请联系系统管理员!"
|
# raise Error, "服务器错误,请联系系统管理员!"
|
||||||
# end
|
# end
|
||||||
|
@ -108,6 +114,7 @@ class Api::V1::Issues::ListService < ApplicationService
|
||||||
@total_issues_count = issues.distinct.size
|
@total_issues_count = issues.distinct.size
|
||||||
@closed_issues_count = issues.closed.distinct.size
|
@closed_issues_count = issues.closed.distinct.size
|
||||||
@opened_issues_count = issues.opened.distinct.size
|
@opened_issues_count = issues.opened.distinct.size
|
||||||
|
@complete_issues_count = issues.closed.distinct.size + issues.where(status_id: 3).distinct.size - issues.where(pm_issue_type: 3, status_id: 3).size
|
||||||
|
|
||||||
case category
|
case category
|
||||||
when 'closed'
|
when 'closed'
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
json.total_issues_count @total_issues_count
|
json.total_issues_count @total_issues_count
|
||||||
json.opened_count @opened_issues_count
|
json.opened_count @opened_issues_count
|
||||||
json.closed_count @closed_issues_count
|
json.closed_count @closed_issues_count
|
||||||
|
json.complete_count @complete_issues_count
|
||||||
json.total_count @issues.total_count
|
json.total_count @issues.total_count
|
||||||
json.has_created_issues @project.present? ? @project.issues.size > 0 : 0
|
json.has_created_issues @project.present? ? @project.issues.size > 0 : 0
|
||||||
json.issues @issues.each do |issue|
|
json.issues @issues.each do |issue|
|
||||||
|
|
Loading…
Reference in New Issue