From 2561d39b4a22388b68160fbaad8474be335b5cfd Mon Sep 17 00:00:00 2001 From: Joseph Date: Fri, 21 Feb 2025 15:52:03 +0700 Subject: [PATCH] update ignore project --- BACKEND/app/Services/JiraService.php | 49 +++++++++++++++++----------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/BACKEND/app/Services/JiraService.php b/BACKEND/app/Services/JiraService.php index d480269..ac8f21a 100644 --- a/BACKEND/app/Services/JiraService.php +++ b/BACKEND/app/Services/JiraService.php @@ -230,6 +230,7 @@ class JiraService $groupedIssues = []; $users_data = []; $user_warning = []; + $ignore_projects = ['PJ_tracking']; foreach ($users as $user) { $user = (array) $user[0]; $users_data[$user['displayName']]['user'] = $user; @@ -252,32 +253,42 @@ class JiraService $issues = json_decode($response->getBody()->getContents(), true); + // Lọc các issue không thuộc các project bị ignore + $filtered_issues = array_filter($issues['issues'], function ($issue) use ($ignore_projects) { + return !in_array($issue['fields']['project']['name'], $ignore_projects); + }); + + $issues['issues'] = $filtered_issues; + if (count($issues['issues']) == 0) { $user_warning[] = $user; } foreach ($issues['issues'] as $issue) { $projectName = $issue['fields']['project']['name']; - $username = $issue['fields']['assignee']['displayName']; - $issue['fields']['assignee']['emailAddress'] = $user['emailAddress']; - if (!isset($groupedIssues[$projectName])) { - $groupedIssues[$projectName] = []; - $groupedIssues[$projectName]['project'] = $issue['fields']['project']; + if(!in_array($projectName, $ignore_projects)) { + $username = $issue['fields']['assignee']['displayName']; + $issue['fields']['assignee']['emailAddress'] = $user['emailAddress']; + if (!isset($groupedIssues[$projectName])) { + $groupedIssues[$projectName] = []; + $groupedIssues[$projectName]['project'] = $issue['fields']['project']; + } + + if (!isset($groupedIssues[$projectName]['users'][$username])) { + $groupedIssues[$projectName]['users'][$username] = []; + $groupedIssues[$projectName]['users'][$username]['user'] = $issue['fields']['assignee']; + $groupedIssues[$projectName]['users'][$username]['p_total_spent'] = 0; + $groupedIssues[$projectName]['users'][$username]['p_total_est'] = 0; + } + + $groupedIssues[$projectName]['users'][$username]['issues'][] = $issue; + $groupedIssues[$projectName]['users'][$username]['p_total_spent'] = $groupedIssues[$projectName]['users'][$username]['p_total_spent'] + $issue['fields']['timespent']; + $groupedIssues[$projectName]['users'][$username]['p_total_est'] = $groupedIssues[$projectName]['users'][$username]['p_total_est'] + ($issue['fields']['timeoriginalestimate'] ?? 0); + + $users_data[$user['displayName']]['total_spent'] = $users_data[$user['displayName']]['total_spent'] + $issue['fields']['timespent']; + $users_data[$user['displayName']]['total_est'] = $users_data[$user['displayName']]['total_est'] + ($issue['fields']['timeoriginalestimate'] ?? 0); } - - if (!isset($groupedIssues[$projectName]['users'][$username])) { - $groupedIssues[$projectName]['users'][$username] = []; - $groupedIssues[$projectName]['users'][$username]['user'] = $issue['fields']['assignee']; - $groupedIssues[$projectName]['users'][$username]['p_total_spent'] = 0; - $groupedIssues[$projectName]['users'][$username]['p_total_est'] = 0; - } - - $groupedIssues[$projectName]['users'][$username]['issues'][] = $issue; - $groupedIssues[$projectName]['users'][$username]['p_total_spent'] = $groupedIssues[$projectName]['users'][$username]['p_total_spent'] + $issue['fields']['timespent']; - $groupedIssues[$projectName]['users'][$username]['p_total_est'] = $groupedIssues[$projectName]['users'][$username]['p_total_est'] + ($issue['fields']['timeoriginalestimate'] ?? 0); - - $users_data[$user['displayName']]['total_spent'] = $users_data[$user['displayName']]['total_spent'] + $issue['fields']['timespent']; - $users_data[$user['displayName']]['total_est'] = $users_data[$user['displayName']]['total_est'] + ($issue['fields']['timeoriginalestimate'] ?? 0); + } }