From afa5c4e4dafd5854d9a92a9f76971cb0678dd1ca Mon Sep 17 00:00:00 2001 From: yystopf Date: Thu, 31 Jul 2025 15:32:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9:=20=E5=85=B3=E8=81=94issue?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E4=B8=8D=E6=9F=A5=E8=AF=A2=E5=B7=B2=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/api/pm/issues_controller.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/pm/issues_controller.rb b/app/controllers/api/pm/issues_controller.rb index e7bbf4d5e..25cb88e81 100644 --- a/app/controllers/api/pm/issues_controller.rb +++ b/app/controllers/api/pm/issues_controller.rb @@ -33,11 +33,14 @@ class Api::Pm::IssuesController < Api::Pm::BaseController object_issues = Issue.where( pm_project_id: params[:pm_project_id], pm_issue_type: pm_issue_type - ).where.not(id: not_join_id).order(updated_on: :desc) + ).where.not(id: not_join_id) object_issues = object_issues.where(root_id: nil, child_count: 0) if params[:issue_filter_type] == 'leaf_issue' + except_closed_issues_1 = object_issues.where(pm_issue_type: 1, status_id: [2,7,8]).to_sql + except_closed_issues_2 = object_issues.where(pm_issue_type: [2,3], status_id: [3,5,6]).to_sql + except_closed_issues_ids = Issue.from("( #{except_closed_issues_1} union #{except_closed_issues_2}) as issues").pluck(:id) - @issues = kaminari_paginate(object_issues) + @issues = kaminari_paginate(object_issues.where.not(id: except_closed_issues_ids).order(updated_on: :desc)) render 'api/v1/issues/index' end