From 5647957e9fff932c8fd9f54ca2a99118eac9818d Mon Sep 17 00:00:00 2001 From: edmondlang Date: Sun, 10 Apr 2022 21:31:20 +0800 Subject: [PATCH 01/34] delete group transaction --- .../CreateSupplierTransactionLogic.php | 2 +- .../ControllersLogic/DeleteGroupLogic.php | 72 +++++++++++++++ .../ControllersLogic/ListGroupsLogic.php | 42 +++++++++ .../Transactions/Services/FetchesGroup.php | 31 +++++++ .../Transactions/Services/ListsGroups.php | 31 +++++++ .../Transactions/DeleteGroupController.php | 20 ++++ .../Transactions/ListGroupsController.php | 21 +++++ app/Http/Resources/GroupResource.php | 29 ++++++ app/Models/Group.php | 21 ++++- app/Models/GroupTransaction.php | 19 +++- ...170641_create_group_transactions_table.php | 5 +- .../elements/CurrencyOrderComponent.vue | 2 +- .../elements/TransactionGroupComponent.vue | 92 +++++++++++++++++++ resources/views/pages/payments.blade.php | 16 ++++ routes/transaction.php | 3 + 15 files changed, 399 insertions(+), 7 deletions(-) create mode 100644 app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php create mode 100644 app/Classes/Modules/Transactions/ControllersLogic/ListGroupsLogic.php create mode 100644 app/Classes/Modules/Transactions/Services/FetchesGroup.php create mode 100644 app/Classes/Modules/Transactions/Services/ListsGroups.php create mode 100644 app/Http/Controllers/Transactions/DeleteGroupController.php create mode 100644 app/Http/Controllers/Transactions/ListGroupsController.php create mode 100644 app/Http/Resources/GroupResource.php create mode 100644 resources/assets/vue/components/bookings/elements/TransactionGroupComponent.vue diff --git a/app/Classes/Modules/Transactions/ControllersLogic/CreateSupplierTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/CreateSupplierTransactionLogic.php index 3dde2e45..0aa0fb7f 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/CreateSupplierTransactionLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/CreateSupplierTransactionLogic.php @@ -87,7 +87,7 @@ class CreateSupplierTransactionLogic extends AbstractControllerLogic $service_charge = 0; foreach ($this->createSupplierTransactionProcessor->getBills() as $key => $row) { - $group->transaction()->sync($row->id, false); + $group->transactions()->sync($row->id, false); $issuer = $row->issuer; $receiver = $row->receiver; $amount += $row->amount; diff --git a/app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php new file mode 100644 index 00000000..b19a7159 --- /dev/null +++ b/app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php @@ -0,0 +1,72 @@ + 'Delete Group Transaction', + 'message' => 'You have successfully deleted this Group Transaction' + ]; + } + + /** @var UpdatesTransactionStatus */ + private $updatesTransactionStatus; + + /** @var FetchesGroup */ + private $fetchesGroup; + + /** @var DeletesTransaction */ + private $deletesTransaction; + + public function __construct( + UpdatesTransactionStatus $updatesTransactionStatus, + FetchesGroup $fetchesGroup, + DeletesTransaction $deletesTransaction + ) + { + $this->updatesTransactionStatus = $updatesTransactionStatus; + $this->fetchesGroup = $fetchesGroup; + $this->deletesTransaction = $deletesTransaction; + } + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + $group = $this->fetchesGroup->execute(['id' => $request->route('id')]); + + $items = $group->transactions()->get(); + + foreach($items as $item) { + $bill = $item; + $payment = $bill->owner; + $group->transactions()->detach($bill->id); + $this->updatesTransactionStatus->execute($payment, ApprovalStatus::APPROVED); + $this->deletesTransaction->execute($bill); + } + + $group->delete(); + + return $this->resourceResponse(new GroupResource($group)); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Transactions/ControllersLogic/ListGroupsLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/ListGroupsLogic.php new file mode 100644 index 00000000..5cf99bbe --- /dev/null +++ b/app/Classes/Modules/Transactions/ControllersLogic/ListGroupsLogic.php @@ -0,0 +1,42 @@ +listsGroups = $listsGroups; + } + + /** + * @return array + */ + protected function notification():array { + return [ + 'title' => 'Retrieved Groups', + 'message' => 'You have successfully retrieved a list of groups' + ]; + } + + /** @var ListsGroups */ + private $listsGroups; + + public function logic(Request $request) : JsonResponse + { + $query = $this->listsGroups->execute($this->listsGroups->deserializeFilters($request->input('filters'))); + + return $this->collectionResponse(GroupResource::collection($query)); + } + +} diff --git a/app/Classes/Modules/Transactions/Services/FetchesGroup.php b/app/Classes/Modules/Transactions/Services/FetchesGroup.php new file mode 100644 index 00000000..6533664b --- /dev/null +++ b/app/Classes/Modules/Transactions/Services/FetchesGroup.php @@ -0,0 +1,31 @@ +repository = $repository; + } + + /** + * @return Builder + */ + public function getRepository(): Builder + { + return $this->repository->newQuery(); + } +} diff --git a/app/Classes/Modules/Transactions/Services/ListsGroups.php b/app/Classes/Modules/Transactions/Services/ListsGroups.php new file mode 100644 index 00000000..f9126739 --- /dev/null +++ b/app/Classes/Modules/Transactions/Services/ListsGroups.php @@ -0,0 +1,31 @@ +repository = $repository; + } + + /** + * @return Builder + */ + public function getRepository(): Builder + { + return $this->repository->newQuery(); + } +} diff --git a/app/Http/Controllers/Transactions/DeleteGroupController.php b/app/Http/Controllers/Transactions/DeleteGroupController.php new file mode 100644 index 00000000..14ba54f9 --- /dev/null +++ b/app/Http/Controllers/Transactions/DeleteGroupController.php @@ -0,0 +1,20 @@ +execute($request); + } +} diff --git a/app/Http/Controllers/Transactions/ListGroupsController.php b/app/Http/Controllers/Transactions/ListGroupsController.php new file mode 100644 index 00000000..730633e9 --- /dev/null +++ b/app/Http/Controllers/Transactions/ListGroupsController.php @@ -0,0 +1,21 @@ +execute($request); + } +} diff --git a/app/Http/Resources/GroupResource.php b/app/Http/Resources/GroupResource.php new file mode 100644 index 00000000..2d628d19 --- /dev/null +++ b/app/Http/Resources/GroupResource.php @@ -0,0 +1,29 @@ + $this->id, + 'original_amount' => (double) $this->original_amount, + 'original_currency' => new CurrencyResource($this->original_currency), + 'amount' => (double) $this->amount, + 'currency' => new CurrencyResource($this->currency), + 'created_at' => Carbon::parse($this->created_at)->format('d-m-Y h:i:s A'), + 'currency_rate' => (float) $this->currency_rate, + 'transactions' => TransactionResource::collection($this->transactions()->get()), + ]; + } +} diff --git a/app/Models/Group.php b/app/Models/Group.php index eff309e2..6e785faa 100644 --- a/app/Models/Group.php +++ b/app/Models/Group.php @@ -3,11 +3,28 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; class Group extends Model { - public function transaction() + public function transactions() { - return $this->belongsToMany('App\Models\Transaction', 'group_transaction'); + return $this->belongsToMany(Transaction::class, GroupTransaction::class); + } + + /** + * @return BelongsTo + */ + public function currency(): BelongsTo + { + return $this->BelongsTo(Currency::class, 'currency_id', 'id'); + } + + /** + * @return BelongsTo + */ + public function original_currency(): BelongsTo + { + return $this->BelongsTo(Currency::class, 'original_currency_id', 'id'); } } diff --git a/app/Models/GroupTransaction.php b/app/Models/GroupTransaction.php index c8622ef9..9ab72d18 100644 --- a/app/Models/GroupTransaction.php +++ b/app/Models/GroupTransaction.php @@ -3,8 +3,25 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; class GroupTransaction extends Model { - // + protected $table = 'group_transactions'; + + /** + * @return BelongsTo + */ + public function group(): BelongsTo + { + return $this->BelongsTo(Group::class, 'group_id', 'id'); + } + + /** + * @return BelongsTo + */ + public function transaction(): BelongsTo + { + return $this->BelongsTo(Transaction::class, 'transaction_id', 'id'); + } } diff --git a/database/migrations/2022_03_20_170641_create_group_transactions_table.php b/database/migrations/2022_03_20_170641_create_group_transactions_table.php index 6ce7cedc..53f33356 100644 --- a/database/migrations/2022_03_20_170641_create_group_transactions_table.php +++ b/database/migrations/2022_03_20_170641_create_group_transactions_table.php @@ -13,7 +13,8 @@ class CreateGroupTransactionsTable extends Migration */ public function up() { - Schema::create('group_transaction', function (Blueprint $table) { + Schema::create('group_transactions', function (Blueprint $table) { + $table->id(); $table->foreignId('group_id')->unsigned(); $table->foreignId('transaction_id')->unsigned(); }); @@ -26,6 +27,6 @@ class CreateGroupTransactionsTable extends Migration */ public function down() { - Schema::dropIfExists('group_transaction'); + Schema::dropIfExists('group_transactions'); } } diff --git a/resources/assets/vue/components/bookings/elements/CurrencyOrderComponent.vue b/resources/assets/vue/components/bookings/elements/CurrencyOrderComponent.vue index ad4c3e42..a88fd5a9 100644 --- a/resources/assets/vue/components/bookings/elements/CurrencyOrderComponent.vue +++ b/resources/assets/vue/components/bookings/elements/CurrencyOrderComponent.vue @@ -40,7 +40,7 @@
Currency Order Placed
-
Are you sure you that the currency order has been placed with the supplier?
+
Are you sure that the currency order has been placed with the supplier?
diff --git a/resources/assets/vue/components/bookings/elements/TransactionGroupComponent.vue b/resources/assets/vue/components/bookings/elements/TransactionGroupComponent.vue new file mode 100644 index 00000000..515e56aa --- /dev/null +++ b/resources/assets/vue/components/bookings/elements/TransactionGroupComponent.vue @@ -0,0 +1,92 @@ + + + diff --git a/resources/views/pages/payments.blade.php b/resources/views/pages/payments.blade.php index 12604a91..8dec0f8f 100644 --- a/resources/views/pages/payments.blade.php +++ b/resources/views/pages/payments.blade.php @@ -40,6 +40,22 @@
+
+
+
+ Transaction Groups +
+
+
+
+ + + +
+
+
diff --git a/routes/transaction.php b/routes/transaction.php index c3402b47..cbff706d 100644 --- a/routes/transaction.php +++ b/routes/transaction.php @@ -22,4 +22,7 @@ Route::group(['prefix' => 'transactions', 'namespace' => 'Transactions', 'as' => Route::get('/company/{id}/account/balance', 'FetchCompanyAccountBalanceController@fetch')->name('company.account.balance'); Route::get('/bank/{id}/account/balance', 'FetchBankAccountBalanceController@fetch')->name('bank.account.balance'); + + Route::get('/groups/list', 'ListGroupsController@list')->name('group.list'); + Route::delete('/groups/{id}/delete', 'DeleteGroupController@delete')->name('group.delete'); }); \ No newline at end of file From 3b15aef71a0384bb086840352c2eb9af32cf0757 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 11 Apr 2022 11:39:24 +0800 Subject: [PATCH 02/34] update deptno for transactions export --- .../Exports/Services/ExportsPaymentTransactions.php | 6 ++++-- .../Exports/Services/ExportsWalletTransactions.php | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php b/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php index 0ca1d730..57dba200 100644 --- a/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php +++ b/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php @@ -39,7 +39,8 @@ class ExportsPaymentTransactions implements FromQuery, WithHeadings, WithHeading 'DetailDescription', 'Qty', 'UnitPrice', - 'AccNo' + 'AccNo', + 'DeptNo' ]; } @@ -100,7 +101,8 @@ class ExportsPaymentTransactions implements FromQuery, WithHeadings, WithHeading 'PLEASE REFER TO THE ATTACHED APPENDIX REF ' . $booking->marking, 1, $transaction->amount, - '500-0000' + '500-0000', + 'CIEF' ]; } } \ No newline at end of file diff --git a/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php b/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php index af4d2d07..29c1728c 100644 --- a/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php +++ b/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php @@ -39,7 +39,8 @@ class ExportsWalletTransactions implements FromQuery, WithHeadings, WithHeadingR 'DetailDescription', 'Qty', 'UnitPrice', - 'AccNo' + 'AccNo', + 'DeptNo' ]; } @@ -80,7 +81,7 @@ class ExportsWalletTransactions implements FromQuery, WithHeadings, WithHeadingR } /** - * @param Company $transaction + * @param Transaction $transaction * * @return array */ @@ -99,7 +100,8 @@ class ExportsWalletTransactions implements FromQuery, WithHeadings, WithHeadingR 'CREDIT SALES', 1, $transaction->amount, - '500-0000' + '500-0000', + 'WALLET' ]; } } \ No newline at end of file From ed2f38610139fb551c1301b3cab087e04a29b7fe Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 11 Apr 2022 14:18:35 +0800 Subject: [PATCH 03/34] show top up transactions for null debtors --- .../Modules/Exports/Services/ExportsNullDebtors.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php index be216473..0d676eb1 100644 --- a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php +++ b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php @@ -56,8 +56,12 @@ class ExportsNullDebtors implements FromQuery, WithHeadings, WithHeadingRow, Wit { return Company::where(function($query){ $query->whereNull('debtor')->orWhere('debtor', ''); - })->whereNotIn('id', [2207, 2248, 2029])->where('business_type', BusinessType::IMPORTER)->where('status', ApprovalStatus::APPROVED)->whereHas('transactions', function($query){ - return $query->whereIn('type', [TransactionType::PAYMENT, TransactionType::TOP_UP])->whereIn('transactions.status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED, ApprovalStatus::PENDING_VERIFICATION]); + })->whereNotIn('id', [2207, 2248, 2029])->where('business_type', BusinessType::IMPORTER)->where('status', ApprovalStatus::APPROVED)->where(function($query){ + $query->whereHas('transactions', function($query){ + return $query->whereIn('type', [TransactionType::PAYMENT, TransactionType::TOP_UP])->whereIn('transactions.status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED, ApprovalStatus::PENDING_VERIFICATION]); + })->orWhereHas('wallets', function($query){ + return $query->whereHas('transactions'); + }); }); } From 0bf3b1b3539a03e83182480efe4d16ba8cbd04fa Mon Sep 17 00:00:00 2001 From: glovetleong Date: Mon, 11 Apr 2022 23:50:15 +0800 Subject: [PATCH 04/34] refund bug --- .../ControllersLogic/CreateBookingRefundLogic.php | 6 ++++-- app/Http/Resources/BookingResource.php | 1 + .../bookings/elements/PaymentHistoryComponent.vue | 15 ++++++++++++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingRefundLogic.php b/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingRefundLogic.php index 74e92fa6..d31ee2ce 100644 --- a/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingRefundLogic.php +++ b/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingRefundLogic.php @@ -84,12 +84,14 @@ class CreateBookingRefundLogic extends AbstractControllerLogic $billNumber = $this->generatesTransactionBillNumber->execute('RFD-'); - $refund = $transaction->transactions()->refunds()->sum('amount'); if($refund + $request->input('amount') > $transaction->original_amount) throw new MalformedRequestException('Your refund must not be greater than '. $transaction->original_amount .'.'); - $transactionRefundCalculationObject = new TransactionRefundCalculationObject($booking, $transaction, $request->input('amount')); + $amount = $transaction->booking->fix_currency_id == 1 ? $request->input('amount') : $request->input('amount') / $transaction->currency_rate; + + + $transactionRefundCalculationObject = new TransactionRefundCalculationObject($booking, $transaction, $amount); $transactionRefundCalculationObject->init(); $object = new TransactionObject($billNumber, TransactionType::REFUND, 1, $booking->company->id, diff --git a/app/Http/Resources/BookingResource.php b/app/Http/Resources/BookingResource.php index 0eeb9670..0adfa65d 100644 --- a/app/Http/Resources/BookingResource.php +++ b/app/Http/Resources/BookingResource.php @@ -31,6 +31,7 @@ class BookingResource extends JsonResource 'service' => new ServiceTypeResource($this->service), 'marking' => $this->marking, 'amount' => $this->fix_amount, + 'amount' => $this->fix_amount, 'floating_amount' => floatval((App()->make(CalculatesBookingFloatingAmount::class))->execute($this->resource, $this->fix_currency_id)), 'paid_amount' => floatval((App()->make(CalculatesBookingPayableAmount::class))->execute($this->resource, $this->fix_currency_id)) - floatval((App()->make(CalculatesBookingRefundAmount::class))->execute($this->resource, $this->fix_currency_id)), 'outstanding_amount' => floatval((App()->make(CalculatesBookingOutstanding::class))->execute($this->resource)) - floatval((App()->make(CalculatesBookingRefundAmount::class))->execute($this->resource, $this->fix_currency_id)), diff --git a/resources/assets/vue/components/bookings/elements/PaymentHistoryComponent.vue b/resources/assets/vue/components/bookings/elements/PaymentHistoryComponent.vue index b73081b9..de39dfb0 100644 --- a/resources/assets/vue/components/bookings/elements/PaymentHistoryComponent.vue +++ b/resources/assets/vue/components/bookings/elements/PaymentHistoryComponent.vue @@ -219,7 +219,7 @@ -
+
@@ -249,12 +249,25 @@ }, computed: { totalRequestedRefund() { + let vm = this; var TotalRequestedRefund = 0; this.data.transaction_refunds.forEach(function(refunds) { TotalRequestedRefund += refunds.status === 1 ? refunds.original_amount : 0; }); + return TotalRequestedRefund; }, + totalRequestedConvertRefund() { + let vm = this; + var TotalRequestedRefund = 0; + this.data.transaction_refunds.forEach(function(refunds) { + TotalRequestedRefund += refunds.status === 1 ? refunds.original_amount : 0; + }); + if (vm.data.booking.fixed_currency.id != 1 && this.data.transaction_refunds[0]) { + TotalRequestedRefund = (TotalRequestedRefund * this.data.transaction_refunds[0].currency_rate); + } + return ((Math.round((TotalRequestedRefund + Number.EPSILON) * 100) / 100).toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); + }, totalRefunds() { var TotalRequestedRefund = 0; this.data.transaction_refunds.forEach(function(refunds) { From 55cd573aeeb8a8c68d3b6dc15d12b98b70db9200 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Tue, 12 Apr 2022 11:08:33 +0800 Subject: [PATCH 05/34] update transfer fee formula --- .../Processors/CreateSupplierTransactionProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php index 75516fdf..fe0e7a12 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php @@ -97,7 +97,7 @@ class CreateSupplierTransactionProcessor $this->pushBill($billTransaction); $transferFeeNumber = $this->generatesTransactionBillNumber->execute('TRFR-'); - $transferFee = $this->calculatesTransactionTransferFee->execute($payment->original_amount, $constant); + $transferFee = $this->calculatesTransactionTransferFee->execute($payment->amount, $constant); $object = new TransactionObject($transferFeeNumber, TransactionType::TRANSFER_FEE, 1, $supplier->id, $supplier->banks()->where('default', true)->first()->id, PaymentMethodType::CASH, $payment->original_amount, $payment->original_amount, $payment->original_currency_id, $payment->original_currency_id, From 41c46c1af1c25cc829ddb0a090a3aa974cd928f3 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Tue, 12 Apr 2022 11:12:33 +0800 Subject: [PATCH 06/34] update transfer fee formula --- .../Processors/CreateSupplierTransactionProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php index fe0e7a12..f8d6b20a 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php @@ -97,7 +97,7 @@ class CreateSupplierTransactionProcessor $this->pushBill($billTransaction); $transferFeeNumber = $this->generatesTransactionBillNumber->execute('TRFR-'); - $transferFee = $this->calculatesTransactionTransferFee->execute($payment->amount, $constant); + $transferFee = $this->calculatesTransactionTransferFee->execute(($payment->original_amount * ( 1 / $payment->currency_rate)), $constant); $object = new TransactionObject($transferFeeNumber, TransactionType::TRANSFER_FEE, 1, $supplier->id, $supplier->banks()->where('default', true)->first()->id, PaymentMethodType::CASH, $payment->original_amount, $payment->original_amount, $payment->original_currency_id, $payment->original_currency_id, From bad6a99efa9cab14fe7ac734af57a77be80ad31a Mon Sep 17 00:00:00 2001 From: omair saleh Date: Tue, 12 Apr 2022 11:13:52 +0800 Subject: [PATCH 07/34] update transfer fee formula --- .../Processors/CreateSupplierTransactionProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php index f8d6b20a..58a37ed1 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php @@ -97,7 +97,7 @@ class CreateSupplierTransactionProcessor $this->pushBill($billTransaction); $transferFeeNumber = $this->generatesTransactionBillNumber->execute('TRFR-'); - $transferFee = $this->calculatesTransactionTransferFee->execute(($payment->original_amount * ( 1 / $payment->currency_rate)), $constant); + $transferFee = $this->calculatesTransactionTransferFee->execute(($payment->amount - $payment->service_charge - $payment->tax), $constant); $object = new TransactionObject($transferFeeNumber, TransactionType::TRANSFER_FEE, 1, $supplier->id, $supplier->banks()->where('default', true)->first()->id, PaymentMethodType::CASH, $payment->original_amount, $payment->original_amount, $payment->original_currency_id, $payment->original_currency_id, From 13b136b4c43390a4af471c1f32d951fa58b44ebe Mon Sep 17 00:00:00 2001 From: omair saleh Date: Tue, 12 Apr 2022 11:15:11 +0800 Subject: [PATCH 08/34] update transfer fee formula --- .../Processors/CreateSupplierTransactionProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php index 58a37ed1..db443184 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateSupplierTransactionProcessor.php @@ -97,7 +97,7 @@ class CreateSupplierTransactionProcessor $this->pushBill($billTransaction); $transferFeeNumber = $this->generatesTransactionBillNumber->execute('TRFR-'); - $transferFee = $this->calculatesTransactionTransferFee->execute(($payment->amount - $payment->service_charge - $payment->tax), $constant); + $transferFee = $this->calculatesTransactionTransferFee->execute($billTransaction->amount, $constant); $object = new TransactionObject($transferFeeNumber, TransactionType::TRANSFER_FEE, 1, $supplier->id, $supplier->banks()->where('default', true)->first()->id, PaymentMethodType::CASH, $payment->original_amount, $payment->original_amount, $payment->original_currency_id, $payment->original_currency_id, From f7de7d290af8b2642a5a6c0385b530314394af11 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Tue, 12 Apr 2022 11:19:57 +0800 Subject: [PATCH 09/34] update transfer fee formula --- .../Services/CalculatesTransactionServiceCharge.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/Services/CalculatesTransactionServiceCharge.php b/app/Classes/Modules/Transactions/Services/CalculatesTransactionServiceCharge.php index e04edee2..29751d80 100644 --- a/app/Classes/Modules/Transactions/Services/CalculatesTransactionServiceCharge.php +++ b/app/Classes/Modules/Transactions/Services/CalculatesTransactionServiceCharge.php @@ -31,7 +31,7 @@ class CalculatesTransactionServiceCharge return 0; } - $transfer_fee = $this->calculatesTransactionTransferFee->execute($amount, $service_charge); + $transfer_fee = $this->calculatesTransactionTransferFee->execute(($amount * (1 / $rate)), $service_charge); return $service_charge->detail->amount->type === 'percentage' ? (($amount + $transfer_fee) * ( (float) $service_charge->detail->amount->value /100) * (1/$rate)) : (float) $service_charge->detail->amount->value; } From 8aa853c7c4f2af722a8a021fb88166e720c32710 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 13 Apr 2022 12:38:37 +0800 Subject: [PATCH 10/34] add border to payment proof --- .../vue/components/bookings/elements/PaymentProofComponent.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue b/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue index 5af5548c..ff8452a5 100644 --- a/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue +++ b/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue @@ -1,5 +1,5 @@