Ejemplo n.º 1
0
 /**
  * Get cash
  */
 public function cash()
 {
     $startingCash = config('default.starting_cash');
     $stockCost = Stock::dateRangeTo($this->to)->sum('cost');
     $amountLoaned = abs(Payment::dateRangeTo($this->to)->where('amount', '<', 0)->sum('amount'));
     $amountPaid = Payment::dateRangeTo($this->to)->where('amount', '>', 0)->sum('amount');
     $cashSales = Sale::dateRangeTo($this->to)->where('user_id', null)->get();
     $totalCashSales = 0;
     foreach ($cashSales as $cashSale) {
         $totalCashSales += $cashSale->total;
     }
     $initialBalances = User::dateRangeTo($this->to)->sum('initial_balance');
     $paymentsToBank = Bank::dateRangeTo($this->to)->sum('amount');
     return $startingCash + $amountPaid + $totalCashSales + $initialBalances - $stockCost - $amountLoaned - $paymentsToBank;
 }