7 Commits

Author SHA1 Message Date
e6d99ba9d6 Update dependency alperenersoy/filament-export to v4
Some checks failed
renovate/artifacts Artifact file update failure
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 10s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 9s
Gemini PR Review / review (pull_request) Failing after 48s
Laravel Larastan / larastan (pull_request) Failing after 2m5s
Laravel Pint / pint (pull_request) Failing after 1m47s
2025-11-30 00:00:51 +00:00
e20915ca82 Merge pull request 'Refactor content method in InvoiceDataMail to use null-safe operator for document_date check' (#29) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 10s
Reviewed-on: #29
2025-11-29 12:58:25 +00:00
dhanabalan
5f4494f5aa Refactor content method in InvoiceDataMail to use null-safe operator for document_date check
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 10s
Gemini PR Review / review (pull_request) Failing after 29s
Laravel Larastan / larastan (pull_request) Failing after 2m44s
Laravel Pint / pint (pull_request) Failing after 2m34s
2025-11-29 18:27:56 +05:30
58e6cbfac0 Merge pull request 'Added proper imports for mail' (#28) from ranjith-dev into master
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Reviewed-on: #28
2025-11-29 12:57:53 +00:00
dhanabalan
9fa73b2ecc Added proper imports for mail
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Gemini PR Review / review (pull_request) Failing after 29s
Laravel Pint / pint (pull_request) Failing after 2m19s
Laravel Larastan / larastan (pull_request) Failing after 2m39s
2025-11-29 18:27:23 +05:30
1ace049687 Merge pull request 'Uncommented the mail schedule logic' (#27) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 13s
Reviewed-on: #27
2025-11-29 12:33:52 +00:00
dhanabalan
d75d435456 Uncommented the mail schedule logic
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 10s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Laravel Larastan / larastan (pull_request) Failing after 2m1s
Laravel Pint / pint (pull_request) Failing after 2m0s
Gemini PR Review / review (pull_request) Failing after 26s
2025-11-29 18:02:25 +05:30
3 changed files with 76 additions and 80 deletions

View File

@@ -48,11 +48,10 @@ class InvoiceDataMail extends Mailable
$greeting = 'Dear Sir/Madam,<br><br>We are sending here with list of "Despatch pending sale invoice & STO invoice as on date"'; $greeting = 'Dear Sir/Madam,<br><br>We are sending here with list of "Despatch pending sale invoice & STO invoice as on date"';
if ($this->scheduleType == 'Daily') { if ($this->scheduleType == 'Daily') {
$firstRecord = InvoiceDataValidation::orderBy('document_date', 'asc')->first(); $firstRecord = InvoiceDataValidation::orderBy('document_date', 'asc')->first(); // 'desc'
// $lastRecord = InvoiceDataValidation::orderBy('document_date', 'desc')->first();
$startDate = null; $startDate = null;
if ($firstRecord && $firstRecord->document_date != null && $firstRecord->document_date != '') { if ($firstRecord && $firstRecord?->document_date != null && $firstRecord?->document_date != '') {
$startDate = \Carbon\Carbon::parse($firstRecord->document_date)->startOfDay(); $startDate = \Carbon\Carbon::parse($firstRecord->document_date)->startOfDay();
// $endDate = \Carbon\Carbon::parse($lastRecord->document_date)->endOfDay(); // $endDate = \Carbon\Carbon::parse($lastRecord->document_date)->endOfDay();
} else { } else {

View File

@@ -7,7 +7,7 @@
"license": "MIT", "license": "MIT",
"require": { "require": {
"php": "^8.2", "php": "^8.2",
"alperenersoy/filament-export": "^3.0", "alperenersoy/filament-export": "^4.0",
"althinect/filament-spatie-roles-permissions": "^2.3", "althinect/filament-spatie-roles-permissions": "^2.3",
"erag/laravel-pwa": "^1.9", "erag/laravel-pwa": "^1.9",
"filament/filament": "^3.3", "filament/filament": "^3.3",

View File

@@ -1,10 +1,11 @@
<?php <?php
use App\Models\AlertMailRule;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Inspiring; use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Schema; use App\Models\AlertMailRule;
use Illuminate\Console\Scheduling\Schedule;
Artisan::command('inspire', function () { Artisan::command('inspire', function () {
$this->comment(Inspiring::quote()); $this->comment(Inspiring::quote());
@@ -13,88 +14,84 @@ Artisan::command('inspire', function () {
// Schedule::command('send:invoice-report'); // Schedule::command('send:invoice-report');
// Schedule::command('send:production-report'); // Schedule::command('send:production-report');
// app()->booted(function () { app()->booted(function () {
// $schedule = app(Schedule::class); $schedule = app(Schedule::class);
// // $schedule->command('report:send-daily-production')->dailyAt('07:59'); // $schedule->command('report:send-daily-production')->dailyAt('07:59');
// Production report scheduling
$productionRules = AlertMailRule::where('module', 'ProductionQuantities')
->where('rule_name', 'ProductionMail')
->select('plant', 'schedule_type')
->distinct()
->get();
// if (Schema::hasTable('alert_mail_rules')) { foreach ($productionRules as $rule) {
$type = $rule->schedule_type;
$plantId = $rule->plant;
// // Production report scheduling $command = $schedule->command('send:production-report', [$type, $plantId]);
// $productionRules = AlertMailRule::where('module', 'ProductionQuantities') // ->appendOutputTo(storage_path('logs/scheduler.log'));
// ->where('rule_name', 'ProductionMail')
// ->select('plant', 'schedule_type')
// ->distinct()
// ->get();
// foreach ($productionRules as $rule) { switch ($type) {
// $type = $rule->schedule_type; case 'Live':
// $plantId = $rule->plant; $command->everyMinute();
break;
case 'Hourly':
$command->hourly();
break;
case 'Daily':
$command->dailyAt('07:59');
break;
}
}
// $command = $schedule->command('send:production-report', [$type, $plantId]); // Invoice report scheduling
// // ->appendOutputTo(storage_path('logs/scheduler.log')); $invoiceRules = AlertMailRule::where('module', 'InvoiceValidation')
->select('plant', 'schedule_type')
->distinct()
->get();
// switch ($type) { foreach ($invoiceRules as $rule) {
// case 'Live': $type = $rule->schedule_type;
// $command->everyMinute(); $plantId = $rule->plant;
// break;
// case 'Hourly':
// $command->hourly();
// break;
// case 'Daily':
// $command->dailyAt('07:59');
// break;
// }
// }
// // Invoice report scheduling $command = $schedule->command('send:invoice-report', [$type, $plantId]);
// $invoiceRules = AlertMailRule::where('module', 'InvoiceValidation')
// ->select('plant', 'schedule_type')
// ->distinct()
// ->get();
// foreach ($invoiceRules as $rule) { switch ($type) {
// $type = $rule->schedule_type; case 'Live':
// $plantId = $rule->plant; $command->everyMinute();
break;
case 'Hourly':
$command->hourly();
break;
case 'Daily':
$command->dailyAt('07:59');
break;
}
}
// $command = $schedule->command('send:invoice-report', [$type, $plantId]); // Invoice Data Report Scheduling
$invoiceDataRules = AlertMailRule::where('module', 'InvoiceDataReport')
->select('plant', 'schedule_type')
->distinct()
->get();
// switch ($type) { foreach ($invoiceDataRules as $rule) {
// case 'Live': $type = $rule->schedule_type;
// $command->everyMinute(); $plantId = $rule->plant;
// break;
// case 'Hourly':
// $command->hourly();
// break;
// case 'Daily':
// $command->dailyAt('07:59');
// break;
// }
// }
// // Invoice Data Report Scheduling $command = $schedule->command('send:invoice-data-report', [$type, $plantId]);
// $invoiceDataRules = AlertMailRule::where('module', 'InvoiceDataReport')
// ->select('plant', 'schedule_type')
// ->distinct()
// ->get();
// foreach ($invoiceDataRules as $rule) { switch ($type) {
// $type = $rule->schedule_type; case 'Live':
// $plantId = $rule->plant; $command->everyMinute();
break;
// $command = $schedule->command('send:invoice-data-report', [$type, $plantId]); case 'Hourly':
$command->hourly();
// switch ($type) { break;
// case 'Live': case 'Daily':
// $command->everyMinute(); $command->dailyAt('10:00');
// break; break;
// case 'Hourly': }
// $command->hourly(); }
// break; });
// case 'Daily':
// $command->dailyAt('10:00');
// break;
// }
// }
// }
// });