From 4681a39cd1d20afd829f639de3b390ea09667fbc Mon Sep 17 00:00:00 2001 From: edmondlang Date: Thu, 20 Apr 2023 17:40:35 +0800 Subject: [PATCH] groupApprove statement transaction mapping api --- .../GroupApproveStatementTransactionLogic.php | 62 +++++++++++++++++++ ...pApproveStatementTransactionController.php | 20 ++++++ .../sections/TransactionsMappingComponent.vue | 2 +- routes/accounting.php | 1 + 4 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 app/Classes/Modules/Accounting/ControllersLogic/GroupApproveStatementTransactionLogic.php create mode 100644 app/Http/Controllers/Accounting/GroupApproveStatementTransactionController.php diff --git a/app/Classes/Modules/Accounting/ControllersLogic/GroupApproveStatementTransactionLogic.php b/app/Classes/Modules/Accounting/ControllersLogic/GroupApproveStatementTransactionLogic.php new file mode 100644 index 00000000..fbc82057 --- /dev/null +++ b/app/Classes/Modules/Accounting/ControllersLogic/GroupApproveStatementTransactionLogic.php @@ -0,0 +1,62 @@ + 'Group Approve Statement Transaction', + 'message' => 'You have successfully approveed a group of Statement Transation' + ]; + } + + /** @var ListsBankStatementTransactions */ + private $listsBankStatementTransactions; + + /** @var UpdatesBankStatementTransactionOwnerStatus */ + private $updatesBankStatementTransactionOwnerStatus; + + /** + * UpdateAnnouncementLogic constructor. + * @param ListsBankStatementTransactions $listsBankStatementTransactions + * @param UpdatesBankStatementTransactionOwnerStatus $updatesBankStatementTransactionOwnerStatus + */ + public function __construct( + ListsBankStatementTransactions $listsBankStatementTransactions, + UpdatesBankStatementTransactionOwnerStatus $updatesBankStatementTransactionOwnerStatus + ) { + $this->listsBankStatementTransactions = $listsBankStatementTransactions; + $this->updatesBankStatementTransactionOwnerStatus = $updatesBankStatementTransactionOwnerStatus; + } + + /** + * @param Request $request + * @return JsonResponse + * @throws \App\Classes\Exceptions\AccessForbiddenException + * @throws \App\Classes\Exceptions\MalformedRequestException + * @throws \App\Classes\Exceptions\RequestValidationException + */ + public function logic(Request $request): JsonResponse + { + $statementTrasactions = $this->listsBankStatementTransactions->execute($this->listsBankStatementTransactions->deserializeFilters( + json_decode("{min_amount: 0, is_mapped: true, is_mapped_with_multiple: false, statement_transaction_owner_type_in: [1, 2], statement_transaction_owner_status_in: [1], per_page: 100, order_by: {column: 'posting_date', DESC: true}}", true) + )); + + return $this->collectionResponse(BankStatementTransactionResource::collection($statementTrasactions)); + } +} diff --git a/app/Http/Controllers/Accounting/GroupApproveStatementTransactionController.php b/app/Http/Controllers/Accounting/GroupApproveStatementTransactionController.php new file mode 100644 index 00000000..fdb45876 --- /dev/null +++ b/app/Http/Controllers/Accounting/GroupApproveStatementTransactionController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} \ No newline at end of file diff --git a/resources/assets/vue/components/accounting/sections/TransactionsMappingComponent.vue b/resources/assets/vue/components/accounting/sections/TransactionsMappingComponent.vue index 2d9459c1..fc074f92 100644 --- a/resources/assets/vue/components/accounting/sections/TransactionsMappingComponent.vue +++ b/resources/assets/vue/components/accounting/sections/TransactionsMappingComponent.vue @@ -66,7 +66,7 @@ contentText="Are you sure you want to approve all these Transaction?" modalType="confirm" class="text-center" - :apiRoute="route('api.company.delete', 1)" + :apiRoute="route('api.accounting.statement_transaction.owner.groupApprove')" apiMethod="post" :section="section" > diff --git a/routes/accounting.php b/routes/accounting.php index f6b1ba8c..107aa269 100644 --- a/routes/accounting.php +++ b/routes/accounting.php @@ -11,6 +11,7 @@ Route::group(['prefix' => 'accounting', 'as' => 'accounting.', 'namespace' => 'A }); Route::group(['prefix' => 'statement_transaction', 'as' => 'statement_transaction.'], function () { + Route::post('/owner/group-approve', 'GroupApproveStatementTransactionController@approve')->name('owner.groupApprove'); Route::post('/{id}/owner/{status}', 'UpdateStatementTransactionStatusController@update')->where('status', 'approve|reject')->name('owner.status.update'); }); });