changed logic for sending mails for only have schedule types in production report
This commit is contained in:
@@ -17,7 +17,8 @@ class SendProductionReport extends Command
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'send:production-report';
|
||||
//protected $signature = 'send:production-report';
|
||||
protected $signature = 'send:production-report {schedule_type}';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
@@ -32,8 +33,11 @@ class SendProductionReport extends Command
|
||||
public function handle()
|
||||
{
|
||||
|
||||
$mailRules = \App\Models\AlertMailRule::where('module', 'ProductionQuantities')
|
||||
$scheduleType = $this->argument('schedule_type');
|
||||
|
||||
$mailRules = \App\Models\AlertMailRule::where('module', 'ProductionQuantities')
|
||||
->where('rule_name', 'ProductionMail')
|
||||
->where('schedule_type', $scheduleType)
|
||||
->get();
|
||||
|
||||
$emails = $mailRules->pluck('email')->unique()->toArray();
|
||||
|
||||
@@ -141,31 +141,25 @@ Artisan::command('inspire', function () {
|
||||
app()->booted(function () {
|
||||
$schedule = app(Schedule::class);
|
||||
|
||||
// Get all production rules with logging
|
||||
$productionRules = AlertMailRule::where('module', 'ProductionQuantities')
|
||||
->where('rule_name', 'ProductionMail')
|
||||
->get();
|
||||
|
||||
foreach ($productionRules as $rule) {
|
||||
$command = $schedule->command("send:production-report");
|
||||
$types = $productionRules->pluck('schedule_type')->unique();
|
||||
|
||||
switch ($rule->schedule_type) {
|
||||
foreach ($types as $type) {
|
||||
$command = $schedule->command("send:production-report", [$type]);
|
||||
switch ($type) {
|
||||
case 'Live':
|
||||
$command->everyMinute();
|
||||
// Log::info("Scheduled Live production report for");
|
||||
break;
|
||||
|
||||
case 'Hourly':
|
||||
$command->hourly();
|
||||
//Log::info("Scheduled Hourly production report for {$rule->email}");
|
||||
break;
|
||||
|
||||
case 'Daily':
|
||||
$command->dailyAt('07:59');
|
||||
// Log::info("Scheduled Daily production report for {$rule->email}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user