File manager - Edit - /home/u816558632/domains/postills.com/public_html/public/AccountTransaction.php.tar
Back
home/u816558632/domains/postills.com/public_html/app/AccountTransaction.php 0000644 00000010632 15002142402 0022341 0 ustar 00 <?php namespace App; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; class AccountTransaction extends Model { use SoftDeletes; protected $guarded = ['id']; protected $casts = [ 'operation_date' => 'datetime', ]; public function media() { return $this->morphMany(\App\Media::class, 'model'); } public function transaction() { return $this->belongsTo(\App\Transaction::class, 'transaction_id'); } /** * Gives account transaction type from payment transaction type * * @param string $payment_transaction_type * @return string */ public static function getAccountTransactionType($tansaction_type) { $account_transaction_types = [ 'sell' => 'credit', 'purchase' => 'debit', 'expense' => 'debit', 'purchase_return' => 'credit', 'sell_return' => 'debit', 'payroll' => 'debit', 'expense_refund' => 'credit', 'hms_booking' => 'credit', ]; return $account_transaction_types[$tansaction_type]; } /** * Creates new account transaction * * @return obj */ public static function createAccountTransaction($data) { $transaction_data = [ 'amount' => $data['amount'], 'account_id' => $data['account_id'], 'type' => $data['type'], 'sub_type' => ! empty($data['sub_type']) ? $data['sub_type'] : null, 'operation_date' => ! empty($data['operation_date']) ? $data['operation_date'] : \Carbon::now(), 'created_by' => $data['created_by'], 'transaction_id' => ! empty($data['transaction_id']) ? $data['transaction_id'] : null, 'transaction_payment_id' => ! empty($data['transaction_payment_id']) ? $data['transaction_payment_id'] : null, 'note' => ! empty($data['note']) ? $data['note'] : null, 'transfer_transaction_id' => ! empty($data['transfer_transaction_id']) ? $data['transfer_transaction_id'] : null, ]; $account_transaction = AccountTransaction::create($transaction_data); return $account_transaction; } /** * Updates transaction payment from transaction payment * * @param obj $transaction_payment * @param array $inputs * @param string $transaction_type * @return string */ public static function updateAccountTransaction($transaction_payment, $transaction_type) { if (! empty($transaction_payment->account_id)) { $account_transaction = AccountTransaction::where( 'transaction_payment_id', $transaction_payment->id ) ->first(); if (! empty($account_transaction)) { $account_transaction->amount = $transaction_payment->amount; $account_transaction->account_id = $transaction_payment->account_id; $account_transaction->operation_date = $transaction_payment->paid_on; $account_transaction->save(); return $account_transaction; } else { $accnt_trans_data = [ 'amount' => $transaction_payment->amount, 'account_id' => $transaction_payment->account_id, 'type' => empty($transaction_type) ? $transaction_payment->payment_type : self::getAccountTransactionType($transaction_type), 'operation_date' => $transaction_payment->paid_on, 'created_by' => $transaction_payment->created_by, 'transaction_id' => $transaction_payment->transaction_id, 'transaction_payment_id' => $transaction_payment->id, ]; //If change return then set type as debit if (!empty($transaction_payment->transaction) && $transaction_payment->transaction->type == 'sell' && $transaction_payment->is_return == 1) { $accnt_trans_data['type'] = 'debit'; } self::createAccountTransaction($accnt_trans_data); } } } public function transfer_transaction() { return $this->belongsTo(\App\AccountTransaction::class, 'transfer_transaction_id'); } public function account() { return $this->belongsTo(\App\Account::class, 'account_id'); } }
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0 |
proxy
|
phpinfo
|
Settings