示例#1
0
 public function getLedgers()
 {
     if ($this->validateAdmin()) {
         echo json_encode(Ledger::GetLedgers());
     } else {
         echo 0;
     }
 }
示例#2
0
 public static function ResetTransactionBalances()
 {
     $ledgers = Ledger::GetLedgers();
     foreach ($ledgers as &$ledger) {
         $ledger->amount = 0;
     }
     $errors = [];
     try {
         $sql = 'SELECT * FROM transactions ORDER BY id ASC';
         //$sql = 'SELECT transaction_id, amount FROM general_ledger_entries ORDER BY transaction_id';
         $res = DatabaseHandler::GetAll($sql);
         $steps = 0;
         foreach ($res as $tx) {
             try {
                 $sql2 = 'SELECT * FROM general_ledger_entries WHERE transaction_id = ' . $tx['id'];
                 $ress = DatabaseHandler::GetAll($sql2);
                 $defic = 0.0;
                 $tx['entr'] = count($ress);
                 foreach ($ress as $entry) {
                     if ($entry['effect'] == 'cr') {
                         self::UpdateTransaction($entry['id'], $entry['ledger_id'], $ledgers, 'cr', $entry['amount']);
                     } else {
                         self::UpdateTransaction($entry['id'], $entry['ledger_id'], $ledgers, 'dr', $entry['amount']);
                     }
                     $steps++;
                 }
             } catch (Exception $e) {
             }
         }
         foreach ($ledgers as $ledger) {
             $sql = 'UPDATE ledgers SET balance = ' . $ledger->amount . ' WHERE id = ' . $ledger->id;
             DatabaseHandler::Execute($sql);
         }
         return $ledgers;
     } catch (Exception $e) {
     }
 }