comment(Inspiring::quote()); })->purpose('Display an inspiring quote'); // Schedule::command('send:invoice-report'); // Schedule::command('send:production-report'); app()->booted(function () { $schedule = app(Schedule::class); // $schedule->command('report:send-daily-production')->dailyAt('07:59'); if (Schema::hasTable('alert_mail_rules')) { // Production report scheduling $productionRules = AlertMailRule::where('module', 'ProductionQuantities') ->where('rule_name', 'ProductionMail') ->select('plant', 'schedule_type') ->distinct() ->get(); foreach ($productionRules as $rule) { $type = $rule->schedule_type; $plantId = $rule->plant; $command = $schedule->command('send:production-report', [$type, $plantId]); // ->appendOutputTo(storage_path('logs/scheduler.log')); switch ($type) { case 'Live': $command->everyMinute(); break; case 'Hourly': $command->hourly(); break; case 'Daily': $command->dailyAt('07:59'); break; } } // Invoice report scheduling $invoiceRules = AlertMailRule::where('module', 'InvoiceValidation') ->select('plant', 'schedule_type') ->distinct() ->get(); foreach ($invoiceRules as $rule) { $type = $rule->schedule_type; $plantId = $rule->plant; $command = $schedule->command('send:invoice-report', [$type, $plantId]); switch ($type) { case 'Live': $command->everyMinute(); break; case 'Hourly': $command->hourly(); break; case 'Daily': $command->dailyAt('07:59'); break; } } // Invoice Data Report Scheduling $invoiceDataRules = AlertMailRule::where('module', 'InvoiceDataReport') ->select('plant', 'schedule_type') ->distinct() ->get(); foreach ($invoiceDataRules as $rule) { $type = $rule->schedule_type; $plantId = $rule->plant; $command = $schedule->command('send:invoice-data-report', [$type, $plantId]); switch ($type) { case 'Live': $command->everyMinute(); break; case 'Hourly': $command->hourly(); break; case 'Daily': $command->dailyAt('10:00'); break; } } } });