One Hat Cyber Team
Your IP :
3.15.147.225
Server IP :
104.21.48.1
Server :
Linux agrigation-prod 5.15.0-67-generic #74-Ubuntu SMP Wed Feb 22 14:14:39 UTC 2023 x86_64
Server Software :
nginx/1.24.0
PHP Version :
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
forge
/
staging.gftag.com
/
app
/
Services
/
Edit File:
TransactionService.php
<?php namespace App\Services; use App\Models\Transaction; use App\Models\DailyTransaction; use App\Models\SaleItem; use Illuminate\Support\Facades\Auth; class TransactionService { public function createNewTransactionEntry( $organisation_id, $transaction_type, $item_id, $quantity, $unique_id, $transaction_from, $transaction_to, $transaction_date, $model_type, $model_id ) { $transaction = Transaction::create([ "organisation_id" => $organisation_id, "transaction_type" => $transaction_type, "item_id" => $item_id, "quantity" => $quantity, "unique_id" => $unique_id, "transaction_from" => $transaction_from, "transaction_to" => $transaction_to, "transaction_date" => $transaction_date, "transactionable_type" => $model_type, "transactionable_id" => $model_id, ])->id; return $transaction; } public function updateTransactionOnEdit( $id, $new_quantity, $type ){ $transaction = Transaction::where('transaction_type', $type)->where('transactionable_id', $id)->first(); $transaction->quantity = $new_quantity; $transaction->save(); } public function updateDailyTransaction( $organisation_id, $transaction_type, $item_id, $quantity, $transaction_date ) { $dailyTransaction = DailyTransaction::where('organisation_id',$organisation_id) ->where('item_id', $item_id) ->where('transaction_date', $transaction_date) ->first(); if(!$dailyTransaction) { if($transaction_type == 'decrease') { $quantity = (0 - $quantity); } if($transaction_type == 'sale') { $quantity = (0 - $quantity); } if($transaction_type == 'opening_stock') { $transaction_date = date('Y-m-d', strtotime('-1 day', strtotime($transaction_date))); } DailyTransaction::create([ "organisation_id" => $organisation_id, "item_id" => $item_id, "balance" => $quantity, "transaction_date" => $transaction_date ]); }else{ if($transaction_type == 'opening_stock' || $transaction_type == 'increase' || $transaction_type == 'transit') { $dailyTransaction->increment('balance', $quantity); }else{ $dailyTransaction->decrement('balance', $quantity); } } } public function updateDailyTransactionOnEdit( $organisation_id, $transaction_type, $old_item_id, $item_id, $old_quantity, $new_quantity, $transaction_date ){ if($old_item_id != $item_id) { $oldItemDailyTransaction = DailyTransaction::where('organisation_id',$organisation_id) ->where('item_id', $old_item_id) ->where('transaction_date', $transaction_date) ->first(); $oldItemDailyTransaction->increment('balance', $old_quantity); $newItemDailyTransaction = DailyTransaction::where('organisation_id',$organisation_id) ->where('item_id', $item_id) ->where('transaction_date', $transaction_date) ->first(); $newItemDailyTransaction->decrement('balance', $new_quantity); }else{ if($old_quantity != $new_quantity){ $dailyTransaction = DailyTransaction::where('organisation_id',$organisation_id) ->where('item_id', $item_id) ->where('transaction_date', $transaction_date) ->first(); if($old_quantity < $new_quantity) { $dailyTransaction->decrement('balance', $new_quantity - $old_quantity); }else{ $dailyTransaction->increment('balance', $old_quantity - $new_quantity); } } } } }
Simpan