ranjith-dev #272
@@ -48,12 +48,12 @@ class SendInvoiceTransitReport extends Command
|
|||||||
|
|
||||||
if ($plants->isEmpty()) {
|
if ($plants->isEmpty()) {
|
||||||
$this->error('No valid plant(s) found.');
|
$this->error('No valid plant(s) found.');
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strtolower($scheduleType) == 'daily')
|
if (strtolower($scheduleType) == 'daily') {
|
||||||
{
|
$results = DB::table('invoice_in_transits as it')
|
||||||
$results = DB::table('invoice_in_transits as it')
|
|
||||||
->join('invoice_masters as im', function ($join) {
|
->join('invoice_masters as im', function ($join) {
|
||||||
$join->on('im.receiving_plant_name', '=', 'it.receiving_plant_name')->on('im.transport_name', '=', 'it.transport_name');
|
$join->on('im.receiving_plant_name', '=', 'it.receiving_plant_name')->on('im.transport_name', '=', 'it.transport_name');
|
||||||
})
|
})
|
||||||
@@ -84,17 +84,18 @@ class SendInvoiceTransitReport extends Command
|
|||||||
')
|
')
|
||||||
|
|
||||||
)
|
)
|
||||||
->when($plantId != 0, fn($q) => $q->where('it.plant_id', $plantId))
|
->when($plantId != 0, fn ($q) => $q->where('it.plant_id', $plantId))
|
||||||
->whereNotNull('it.lr_bl_aw_date')
|
->whereNotNull('it.lr_bl_aw_date')
|
||||||
->whereRaw('
|
->whereRaw('
|
||||||
(CURRENT_DATE - CAST(it.lr_bl_aw_date AS DATE))
|
(CURRENT_DATE - CAST(it.lr_bl_aw_date AS DATE))
|
||||||
- CAST(im.transit_days AS INTEGER) > 0
|
- CAST(im.transit_days AS INTEGER) > 0
|
||||||
')
|
')
|
||||||
|
// ->distinct('it.invoice_number')
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
|
|
||||||
if ($results->isEmpty()) {
|
if ($results->isEmpty()) {
|
||||||
$this->info('No invoice transit records found for today.');
|
$this->info('No invoice transit records found for today.');
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,24 +104,25 @@ class SendInvoiceTransitReport extends Command
|
|||||||
foreach ($mailRules as $rule) {
|
foreach ($mailRules as $rule) {
|
||||||
|
|
||||||
$ruleInvoices = $results->where('invoice_master_id', $rule->invoice_master_id);
|
$ruleInvoices = $results->where('invoice_master_id', $rule->invoice_master_id);
|
||||||
//$ruleInvoices = $results->filter(fn($item) => $item->invoice_master_id == (int)$rule->invoice_master_id);
|
// $ruleInvoices = $results->filter(fn($item) => $item->invoice_master_id == (int)$rule->invoice_master_id);
|
||||||
|
|
||||||
|
|
||||||
if ($ruleInvoices->isEmpty()) {
|
if ($ruleInvoices->isEmpty()) {
|
||||||
$this->info("Skipping rule {$rule->id} — no invoice transit data.");
|
$this->info("Skipping rule {$rule->id} — no invoice transit data.");
|
||||||
continue; // ❌ DO NOT SEND MAIL
|
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$invoiceMaster = InvoiceMaster::find($rule->invoice_master_id);
|
$invoiceMaster = InvoiceMaster::find($rule->invoice_master_id);
|
||||||
|
|
||||||
$mailSubject = $invoiceMaster
|
$mailSubject = $invoiceMaster
|
||||||
? "Despatch Invoice In Transit ({$invoiceMaster->receiving_plant_name} - {$invoiceMaster->transport_name})"
|
? "Despatch Invoice In Transit ({$invoiceMaster->receiving_plant_name} - {$invoiceMaster->transport_name})"
|
||||||
: "Despatch Invoice In Transit";
|
: 'Despatch Invoice In Transit';
|
||||||
|
|
||||||
if ($ruleInvoices->isEmpty()) {
|
if ($ruleInvoices->isEmpty()) {
|
||||||
$tableData = [];
|
$tableData = [];
|
||||||
$this->info("No despatch invoices in transit found for rule {$rule->id}.");
|
$this->info("No despatch invoices in transit found for rule {$rule->id}.");
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
$tableData = $ruleInvoices->values()->map(function ($item, $index) use ($plantCodes) {
|
$tableData = $ruleInvoices->values()->map(function ($item, $index) use ($plantCodes) {
|
||||||
return [
|
return [
|
||||||
'no' => $index + 1,
|
'no' => $index + 1,
|
||||||
@@ -132,9 +134,10 @@ class SendInvoiceTransitReport extends Command
|
|||||||
'lr_bl_aw_date' => $item->lr_bl_aw_date,
|
'lr_bl_aw_date' => $item->lr_bl_aw_date,
|
||||||
'lr_bl_aw_number' => $item->lr_bl_aw_number,
|
'lr_bl_aw_number' => $item->lr_bl_aw_number,
|
||||||
'transit_days' => $item->transit_days,
|
'transit_days' => $item->transit_days,
|
||||||
'status' => $item->delayed_days . ' Days',
|
'status' => $item->delayed_days.' Days',
|
||||||
];
|
];
|
||||||
})->toArray();
|
})->toArray();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$mail = new InvoiceTransitMail($scheduleType, $tableData, $mailSubject);
|
$mail = new InvoiceTransitMail($scheduleType, $tableData, $mailSubject);
|
||||||
@@ -155,13 +158,14 @@ class SendInvoiceTransitReport extends Command
|
|||||||
|
|
||||||
if (empty($toEmails)) {
|
if (empty($toEmails)) {
|
||||||
$this->warn("Skipping rule {$rule->id} — no To emails.");
|
$this->warn("Skipping rule {$rule->id} — no To emails.");
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
\Mail::to($toEmails)->cc($ccEmails)->send($mail);
|
\Mail::to($toEmails)->cc($ccEmails)->send($mail);
|
||||||
|
|
||||||
$this->info(
|
$this->info(
|
||||||
"Mail sent → Rule {$rule->id} | Invoice Master ID: {$rule->invoice_master_id} | To: " . implode(', ', $toEmails)
|
"Mail sent → Rule {$rule->id} | Invoice Master ID: {$rule->invoice_master_id} | To: ".implode(', ', $toEmails)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user