scheduleType = $scheduleType;
$this->tableData = $tableData ?? [];
$this->mailSubject = $mailSubject ?? 'Invoice In Transit';
}
/**
* Get the message envelope.
*/
public function envelope(): Envelope
{
return new Envelope(
subject: $this->mailSubject,
);
}
/**
* Get the message content definition.
*/
// public function content(): Content
// {
// return new Content(
// view: 'view.name',
// );
// }
public function content(): Content
{
$greeting = 'Dear Sir/Madam,
We are sending here with list of pending sale invoices currently in transit.';
if (strtolower($this->scheduleType) == 'daily') {
$dates = collect($this->tableData)
->pluck('lr_bl_aw_date')
->filter()
->map(fn ($d) => Carbon::parse($d));
if ($dates->isNotEmpty()) {
$startDate = $dates->min()->startOfDay();
}
else
{
$startDate = now()->subDay()->startOfDay();
}
$endDate = now();
$reportPeriod = "
"
. "Report Period: {$startDate->format('d-m-Y')} "
. "to {$endDate->format('d-m-Y')}."
. "
Please arrange to receipt the same immediately.";
$greeting .= $reportPeriod;
}
if ($this->scheduleType == 'Hourly') {
$now = now();
$fromHour = $now->copy()->subHour()->format('H:i:s');
$toHour = $now->format('H:i:s');
$reportDate = $now->format('d/m/Y');
$greeting .= "from: $reportDate, $fromHour to $toHour.
Please arrange to receipt the same immediately.";
}
if ($this->scheduleType == 'Live') {
$now = now();
$fromMinute = $now->copy()->subMinute()->format('d/m/Y H:i:s');
$toMinute = $now->format('d/m/Y H:i:s');
$greeting .= "from: $fromMinute to $toMinute.
Please arrange to receipt the same immediately.";
}
return new Content(
view: 'mail.invoice-in-transit-report',
with: [
'company' => 'CRI Digital Manufacturing Solutions',
'greeting' => $greeting,
'tableData' => $this->tableData,
'wishes' => 'Thanks & Regards,
CRI Digital Manufacturing Solutions',
],
);
}
/**
* Get the attachments for the message.
*
* @return array
*/
public function attachments(): array
{
return [];
}
}