format('Y-m-d h:i:s')); if (! config('ninja.db.multi_db_enabled')) { $auto_bill_partial_invoices = Invoice::whereDate('partial_due_date', '<=', now()) ->whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL]) ->where('auto_bill_enabled', true) ->where('balance', '>', 0) ->where('is_deleted', false) ->whereHas('company', function ($query) { $query->where('is_disabled',0); }) ->orderBy('id', 'DESC') ->with('company'); nlog($auto_bill_partial_invoices->count(). " partial invoices to auto bill"); $auto_bill_partial_invoices->cursor()->each(function ($invoice){ AutoBill::dispatch($invoice, false); }); $auto_bill_invoices = Invoice::whereDate('due_date', '<=', now()) ->whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL]) ->where('auto_bill_enabled', true) ->where('balance', '>', 0) ->where('is_deleted', false) ->whereHas('company', function ($query) { $query->where('is_disabled',0); }) ->orderBy('id', 'DESC') ->with('company'); nlog($auto_bill_invoices->count(). " full invoices to auto bill"); $auto_bill_invoices->cursor()->each(function ($invoice){ AutoBill::dispatch($invoice, false); }); } else { //multiDB environment, need to foreach (MultiDB::$dbs as $db) { MultiDB::setDB($db); $auto_bill_partial_invoices = Invoice::whereDate('partial_due_date', '<=', now()) ->whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL]) ->where('auto_bill_enabled', true) ->where('balance', '>', 0) ->where('is_deleted', false) ->whereHas('company', function ($query) { $query->where('is_disabled',0); }) ->orderBy('id', 'DESC') ->with('company'); nlog($auto_bill_partial_invoices->count(). " partial invoices to auto bill db = {$db}"); $auto_bill_partial_invoices->cursor()->each(function ($invoice) use($db){ AutoBill::dispatch($invoice, $db); }); $auto_bill_invoices = Invoice::whereDate('due_date', '<=', now()) ->whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL]) ->where('auto_bill_enabled', true) ->where('balance', '>', 0) ->where('is_deleted', false) ->whereHas('company', function ($query) { $query->where('is_disabled',0); }) ->orderBy('id', 'DESC') ->with('company'); nlog($auto_bill_invoices->count(). " full invoices to auto bill db = {$db}"); $auto_bill_invoices->cursor()->each(function ($invoice) use($db){ nlog($this->counter); AutoBill::dispatch($invoice, $db); $this->counter++; }); } nlog("Auto Bill - fine"); } } }