From be89ac93621629e3f1fa7ff8d1eeec229a490940 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 6 May 2022 10:55:48 +1000 Subject: [PATCH] Refactor for ledger serice --- app/Jobs/Ledger/LedgerBalanceUpdate.php | 74 +++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 app/Jobs/Ledger/LedgerBalanceUpdate.php diff --git a/app/Jobs/Ledger/LedgerBalanceUpdate.php b/app/Jobs/Ledger/LedgerBalanceUpdate.php new file mode 100644 index 000000000000..fa178ef83850 --- /dev/null +++ b/app/Jobs/Ledger/LedgerBalanceUpdate.php @@ -0,0 +1,74 @@ +check(); + } else { + //multiDB environment, need to + foreach (MultiDB::$dbs as $db) { + MultiDB::setDB($db); + + $this->check(); + } + } + + } + + public function check() + { + + CompanyLedger::where('balance', 0)->cursor()->each(function ($company_ledger){ + + if($company_ledger->balance > 0) + return; + + $last_record = CompanyLedger::where('client_id', $company_ledger->client_id) + ->where('company_id', $company_ledger->company_id) + ->where('balance', '!=', 0) + ->orderBy('id', 'DESC') + ->first(); + + $company_ledger->balance = $last_record->balance + $company_ledger->adjustment; + $company_ledger->save(); + + }); + + } + +}