From 0b7a3046fe409c2409be33e17a89f35b12857d91 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Fri, 19 Dec 2025 21:36:00 +0800 Subject: [PATCH] fix: align parent task subtask progress with task detail (include archived, exclude deleted) --- app/Http/Controllers/Api/ProjectController.php | 1 + app/Models/ProjectTask.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/ProjectController.php b/app/Http/Controllers/Api/ProjectController.php index eddf07d49..2145747cf 100755 --- a/app/Http/Controllers/Api/ProjectController.php +++ b/app/Http/Controllers/Api/ProjectController.php @@ -1184,6 +1184,7 @@ class ProjectController extends AbstractController $builder->leftJoinSub(function ($query) { $query->select('parent_id', DB::raw('count(*) as sub_num, sum(CASE WHEN complete_at IS NOT NULL THEN 1 ELSE 0 END) sub_complete') ) ->from('project_tasks') + ->whereNull('deleted_at') ->groupBy('parent_id'); }, 'sub_task', 'sub_task.parent_id', '=', 'project_tasks.id'); // 给前缀“_”是为了不触发获取器 diff --git a/app/Models/ProjectTask.php b/app/Models/ProjectTask.php index 38fcf63fc..21d0eee46 100644 --- a/app/Models/ProjectTask.php +++ b/app/Models/ProjectTask.php @@ -156,7 +156,7 @@ class ProjectTask extends AbstractModel return; } if (!isset($this->appendattrs['sub_num'])) { - $builder = self::whereParentId($this->id)->whereNull('archived_at'); + $builder = self::whereParentId($this->id); $this->appendattrs['sub_num'] = $builder->count(); $this->appendattrs['sub_complete'] = $builder->whereNotNull('complete_at')->count(); //