From 79889e1040efcc545642ea5660435326991f5d55 Mon Sep 17 00:00:00 2001 From: tradewind Date: Mon, 22 Dec 2025 15:42:00 +0800 Subject: [PATCH] #feature: update weeklyreport task status --- .../php/document_symbols_cache_v23-06-25.pkl | Bin 1175 -> 169139 bytes app/Services/JiraService.php | 47 +++++++++++------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/.serena/cache/php/document_symbols_cache_v23-06-25.pkl b/.serena/cache/php/document_symbols_cache_v23-06-25.pkl index 2953471925b37f4f56f503d002016620448819f3..420c1a251d2201ff9dece89f4726bd8186d6443b 100644 GIT binary patch literal 169139 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'sprints') && $organizedTasks['sprints']->isNotEmpty()) { - foreach ($organizedTasks['sprints'] as $sprintName => $tasks) { + $sortedSprints = $organizedTasks['sprints']->sortKeysUsing( + static fn ($left, $right) => strnatcasecmp((string) $left, (string) $right) + ); + foreach ($sortedSprints as $sprintName => $tasks) { $markdown .= "### {$sprintName}\n"; foreach ($tasks as $task) { $checkbox = $this->isTaskCompleted($task['status']) ? '[x]' : '[ ]'; @@ -607,22 +610,23 @@ class JiraService */ private function isTaskCompleted(string $status): bool { - // 不打勾的状态(未完成状态) - $incompleteStatuses = [ - '开发中', - '需求已排期', - '需求已评审', - 'In Progress', - 'To Do', - 'Open', - 'Reopened', - 'In Review', - 'Code Review', - 'Testing', - 'Ready for Testing' + // 只有已完成或已取消才打勾 + $completedStatuses = [ + '已完成', + '完成', + 'Done', + 'Closed', + 'Resolved', + ]; + $cancelledStatuses = [ + '已取消', + '取消', + 'Cancelled', + 'Canceled', ]; - return !in_array($status, $incompleteStatuses, true); + return in_array($status, $completedStatuses, true) + || in_array($status, $cancelledStatuses, true); } /** @@ -641,6 +645,15 @@ class JiraService foreach ($workLogs as $workLog) { $issueKey = $workLog['issue_key']; $issueType = $workLog['issue_type'] ?? 'Unknown'; + $issueSummary = $workLog['issue_summary'] ?? ''; + $parentSummary = $workLog['parent_task']['summary'] ?? ''; + $excludeKeyword = '工作日志'; + + // 排除工作日志相关的Jira + if ((is_string($issueSummary) && mb_strpos($issueSummary, $excludeKeyword) !== false) + || (is_string($parentSummary) && mb_strpos($parentSummary, $excludeKeyword) !== false)) { + continue; + } // 避免重复处理同一个任务 if ($processedIssues->has($issueKey)) {