ranjith-dev #272

Merged
jothi merged 5 commits from ranjith-dev into master 2026-01-29 03:45:35 +00:00
Showing only changes of commit 8b9cc874b5 - Show all commits

View File

@@ -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)
); );
} }
} }