/home/smartonegroup/www/system/system/models/Account.php
<?php
use Illuminate\Database\Eloquent\Model;
class Account extends Model
{
protected $table = 'sys_accounts';
public static function getBalance($account_id, $currency_id)
{
$balance = Balance::where('account_id', $account_id)
->where('currency_id', $currency_id)
->first();
if ($balance) {
return $balance->balance;
}
return '0.00';
}
public static function getAllAccounts()
{
return Account::all();
}
public static function createSnapshot(
$settings,
$_L = [],
$send_email = false
) {
$msg = '';
$last_day = date('Y-m-d', strtotime('Yesterday'));
$msg .= 'Accounting Snapshot - Date: ' . $last_day . '<br>';
$last_day_income = Transaction::where('date', $last_day)
->where('type', 'Income')
->sum('amount');
if ($last_day_income === '') {
$last_day_income = '0.00';
}
$msg .=
'Total Income: ' .
formatCurrencyNonGlobalConfig(
$settings,
$last_day_income,
$settings['home_currency']
) .
'<br>';
$last_day_expense = Transaction::where('date', $last_day)
->where('type', 'Expense')
->sum('amount');
if ($last_day_expense === '') {
$last_day_expense = '0.00';
}
$msg .=
'Total Expense: ' .
formatCurrencyNonGlobalConfig(
$settings,
$last_day_expense,
$settings['home_currency']
) .
'<br>';
if ($send_email && !empty($settings['global_notifications_email'])) {
Email::sendEmail(
$settings,
$_L,
$settings['CompanyName'],
$settings['global_notifications_email'],
'Accounting Snapshot',
$msg
);
}
return [
'success' => true,
'message' => $msg,
];
}
}