update mail template + content

This commit is contained in:
JOSEPH LE 2024-07-03 15:28:16 +07:00
parent 30d6645355
commit 10ab800212
2 changed files with 27 additions and 2 deletions

View File

@ -183,8 +183,8 @@ class JiraController extends Controller
$workLogs = $this->jiraService->getAllUserWorkLogs($dateFormatted, $dateFormatted); $workLogs = $this->jiraService->getAllUserWorkLogs($dateFormatted, $dateFormatted);
$tasksByUser = $this->formatWorkLogsByUser($workLogs); $tasksByUser = $this->formatWorkLogsByUser($workLogs);
// Mail::to(['luanlt632000@gmail.com'])->send(new WorklogReport($tasksByUser)); Mail::to(['luanlt632000@gmail.com'])->send(new WorklogReport($tasksByUser));
Mail::to(['luanlt632000@gmail.com', 'admin@apactech.io'])->send(new WorklogReport($tasksByUser)); // Mail::to(['luanlt632000@gmail.com', 'admin@apactech.io'])->send(new WorklogReport($tasksByUser));
// return "Email sent successfully!"; // return "Email sent successfully!";
return response()->json([ return response()->json([
@ -221,8 +221,10 @@ class JiraController extends Controller
$today = Carbon::yesterday()->setTimezone(env('TIME_ZONE'))->format('Y-m-d'); $today = Carbon::yesterday()->setTimezone(env('TIME_ZONE'))->format('Y-m-d');
// $today = Carbon::create('2024','6','28'); // $today = Carbon::create('2024','6','28');
$filteredWorklogs = []; $filteredWorklogs = [];
$totalTimeSpent = 0;
foreach ($issue['fields']['worklog']['worklogs'] as $worklog) { foreach ($issue['fields']['worklog']['worklogs'] as $worklog) {
$started = Carbon::parse($worklog['started']); $started = Carbon::parse($worklog['started']);
$totalTimeSpent = $totalTimeSpent + ($worklog['timeSpentSeconds']/60/60);
if ($started->isSameDay($today) && $worklog['updateAuthor']['displayName'] == $user) { if ($started->isSameDay($today) && $worklog['updateAuthor']['displayName'] == $user) {
$filteredWorklogs[] = $worklog; $filteredWorklogs[] = $worklog;
} }
@ -233,12 +235,15 @@ class JiraController extends Controller
'estimate' => $issue['fields']['timeoriginalestimate'], 'estimate' => $issue['fields']['timeoriginalestimate'],
'time_spent' => $issue['fields']['timespent'], 'time_spent' => $issue['fields']['timespent'],
'worklogs' => $filteredWorklogs, 'worklogs' => $filteredWorklogs,
'totalTimeSpent' => $totalTimeSpent,
]; ];
$tasksByUser[$user]['assignment'] = $log['tasksAssign'];
uksort($tasksByUser[$user]["allStatus"], function($a, $b) use ($predefinedOrder) { uksort($tasksByUser[$user]["allStatus"], function($a, $b) use ($predefinedOrder) {
return $this->customSort($a, $b, $predefinedOrder); return $this->customSort($a, $b, $predefinedOrder);
}); });
} }
} }
// dd($tasksByUser);
return $tasksByUser; return $tasksByUser;
} }
} }

View File

@ -30,6 +30,7 @@
<span>Project: {{ $task['project']['name'] }}</span> <span>Project: {{ $task['project']['name'] }}</span>
</div> </div>
Estimate: {{ (int)$task['estimate']/60/60 }}h<br> Estimate: {{ (int)$task['estimate']/60/60 }}h<br>
Total time spent: {{ (int)$task['totalTimeSpent'] }}h<br>
<!-- worklogs --> <!-- worklogs -->
@foreach($task['worklogs'] as $worklog) @foreach($task['worklogs'] as $worklog)
@ -48,7 +49,22 @@ Start date: {{ $worklog['started'] }}<br>
@endforeach <!-- status end --> @endforeach <!-- status end -->
</div> </div>
<strong>ASSIGNMENT</strong><br>
<div class="assignment">
@foreach($data['assignment']['issues'] as $issue => $task)<!-- assign -->
<div class="issue" style="width: 100%;">
<strong>{{ $task['fields']['summary'] }}</strong><br>
<div style="display: flex; align-items: center;">
<img src="{{ $task['fields']['project']['avatarUrls']['24x24'] }}" style="margin-right: 5px; width: 15px; height: 15px; border-radius: 50%;"/>
<span>Project: {{ $task['fields']['project']['name'] }}</span>
</div> </div>
Estimate: {{ (int)$task['fields']['timeoriginalestimate']/60/60 }}h<br>
Time spent: {{ (int)$task['fields']['timespent']/60/60 }}h<br>
</div>
@endforeach <!-- assign end -->
</div>
</div>
@endforeach <!-- user end --> @endforeach <!-- user end -->
</div> </div>
</div> </div>
@ -139,4 +155,8 @@ Thanks,<br>
font-size: 13px; font-size: 13px;
} }
.assignment{
display: flex;
}
</style> </style>