diff --git a/app/controllers/api/pm/issues_controller.rb b/app/controllers/api/pm/issues_controller.rb index ce0981a89..19ab28435 100644 --- a/app/controllers/api/pm/issues_controller.rb +++ b/app/controllers/api/pm/issues_controller.rb @@ -246,7 +246,7 @@ class Api::Pm::IssuesController < Api::Pm::BaseController compare_link_issues_ids = children_issues.pluck(:id) | linkable_issues.pluck(:id) | belinkable_issues.pluck(:id) i = compare_link_issues_ids.count while i > 0 do - children_issues = Issue.where(root_id: compare_link_issues_ids).where.not(pm_issue_type: 1) + children_issues = Issue.where(root_id: compare_link_issues_ids) linkable_issues = Issue.where(id: PmLink.where(linkable_type: "Issue", linkable_id: compare_link_issues_ids).pluck(:be_linkable_id)) belinkable_issues = Issue.where(id: PmLink.where(be_linkable_type: "Issue", be_linkable_id: compare_link_issues_ids).pluck(:linkable_id)) @@ -254,6 +254,10 @@ class Api::Pm::IssuesController < Api::Pm::BaseController full_link_issues_ids = full_link_issues_ids | compare_link_issues_ids i = compare_link_issues_ids.count end + exclude_issues_array = Issue.where(id: full_link_issues_ids).where.not(root_id: nil).pluck(:id, :root_id) + exclude_issues_array.each do |i| + full_link_issues_ids - [i[0]] if full_link_issues_ids.include?(i[1]) + end @requirement_issues = Issue.where(id:full_link_issues_ids, pm_issue_type:1).pm_includes @task_issues = Issue.where(id:full_link_issues_ids, pm_issue_type:2).pm_includes