mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-19 12:33:56 +00:00
71 lines
2.8 KiB
PHP
71 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace App\Classes\Modules\Accounting\ControllersLogic;
|
|
|
|
use App\Classes\General\Abstracts\AbstractControllerLogic;
|
|
use App\Classes\Modules\Accounting\Services\ListsBankStatementTransactions;
|
|
use App\Http\Resources\BankStatementTransactionResource;
|
|
use App\Classes\Modules\Accounting\Services\UpdatesBankStatementTransactionOwnerStatus;
|
|
use App\Classes\ValueObjects\Constants\ApprovalStatus;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
class GroupApproveStatementTransactionLogic extends AbstractControllerLogic
|
|
{
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
protected function notification(): array
|
|
{
|
|
return [
|
|
'title' => '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)
|
|
));
|
|
|
|
foreach ($statementTrasactions as $statementTrasaction) {
|
|
$statementTrasactionOwner = $statementTrasaction->owners->first();
|
|
|
|
dd($statementTrasactionOwner);
|
|
|
|
$this->updatesBankStatementTransactionOwnerStatus->execute($statementTrasactionOwner, ApprovalStatus::APPROVED);
|
|
}
|
|
|
|
return $this->collectionResponse(BankStatementTransactionResource::collection($statementTrasactions));
|
|
}
|
|
}
|