diff --git a/app/Http/Controllers/Api/ProjectController.php b/app/Http/Controllers/Api/ProjectController.php index 338efe92a..65c1a25ee 100755 --- a/app/Http/Controllers/Api/ProjectController.php +++ b/app/Http/Controllers/Api/ProjectController.php @@ -1058,10 +1058,6 @@ class ProjectController extends AbstractController $query->where('project_users.owner', 1); $query->where('project_users.userid', $userid); }); - $builder->leftJoin('project_task_users as project_sub_task_users', function ($query) use($userid) { - $query->on('project_sub_task_users.task_pid', '=', 'project_tasks.parent_id'); - $query->where('project_sub_task_users.userid', $userid); - }); $builder->leftJoin('project_task_visibility_users', function ($query) use($userid) { $query->on('project_task_visibility_users.task_id', '=', 'project_tasks.id'); $query->where('project_task_visibility_users.userid', $userid); @@ -1071,7 +1067,6 @@ class ProjectController extends AbstractController $query->orWhere("project_users.userid", $userid); $query->orWhere("project_task_users.userid", $userid); $query->orWhere("project_task_visibility_users.userid", $userid); - $query->orWhere("project_sub_task_users.userid", $userid); }); // 优化子查询汇总 $builder->leftJoinSub(function ($query) { diff --git a/app/Observers/ProjectTaskObserver.php b/app/Observers/ProjectTaskObserver.php index d6ecb19fa..d31701e93 100644 --- a/app/Observers/ProjectTaskObserver.php +++ b/app/Observers/ProjectTaskObserver.php @@ -92,7 +92,7 @@ class ProjectTaskObserver } $array = []; if (in_array('task', $dataType)) { - $array = array_merge($array, ProjectTaskUser::whereTaskId($projectTask->id)->pluck('userid')->toArray()); + $array = array_merge($array, ProjectTaskUser::whereTaskId($projectTask->id)->orWhere('task_pid' ,$projectTask->id)->pluck('userid')->toArray()); } if (in_array('visibility', $dataType)) { $array = array_merge($array, ProjectTaskVisibilityUser::whereTaskId($projectTask->id)->pluck('userid')->toArray()); @@ -113,7 +113,7 @@ class ProjectTaskObserver break; case 2: case 3: - $dataType = $projectTask->visibility == 2 ? ['task'] : ['task', 'visibility']; + $dataType = $projectTask->visibility == 2 ? ['task'] : ['visibility']; $forgetUserids = self::userids($projectTask, $dataType); $projectOwnerUserIds = self::userids($projectTask, 'projectOwnerUser'); $recordUserids = array_diff($projectUserids, $forgetUserids, $projectOwnerUserIds);