From 5ee3d492fc10e27d9c66fd6dfb584badb717aa48 Mon Sep 17 00:00:00 2001 From: Hafifie PKB Date: Mon, 17 Mar 2025 11:39:56 +0800 Subject: [PATCH] added autoserahan --- .../Controllers/AutoSerahanController.php | 68 ++++++++++- resources/views/autoserahan/index.blade.php | 113 +++++++++++++++--- resources/views/layouts/app.blade.php | 2 +- 3 files changed, 164 insertions(+), 19 deletions(-) diff --git a/app/Http/Controllers/AutoSerahanController.php b/app/Http/Controllers/AutoSerahanController.php index 9d7f896..38dc31f 100644 --- a/app/Http/Controllers/AutoSerahanController.php +++ b/app/Http/Controllers/AutoSerahanController.php @@ -5,7 +5,7 @@ use App\Events\AutoSerahan; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; use Illuminate\Pagination\LengthAwarePaginator; - +use Illuminate\Support\Facades\Log; class AutoSerahanController extends Controller { public function index(Request $request) @@ -15,12 +15,18 @@ class AutoSerahanController extends Controller 'page' => request('page', 1) // Get current page from request ])->json(); + // Extract pagination details $items = $response['data'] ?? []; // Data array $total = $response['total'] ?? 0; // Total items $perPage = $response['per_page'] ?? 10; // Items per page $currentPage = $response['current_page'] ?? 1; // Current page + $items = array_map(function ($item) { + $item['cawangan_name'] = $this->CawanganKod($item['kodcaw']); + return $item; + }, $items); + // Create Laravel paginator $list = new LengthAwarePaginator($items, $total, $perPage, $currentPage, [ 'path' => request()->url(), // Current URL @@ -39,6 +45,59 @@ class AutoSerahanController extends Controller 'sendApproval' => 'ACCEPTED', 'operasi_name' => auth()->user()->name, ])->json(); + Log::debug($response); + if($response['approve_status'] == 'approved'){ + $approvalserahan = Http::get(config('api.url_koop') . '/api/autoserahan/get', [ + 'id' => $request->id, + 'kodcaw' => $request->kodcaw + ])->json(); + + if($approvalserahan['action'] == 'create'){ + $pendahuluan = Http::put(config('api.url_koop') . '/api/autoserahan/pendahuluan', [ + 'id' => $request->id, + 'kodcaw' => $request->kodcaw, + 'teller' => $request->teller, + 'amaun' => $request->amaun, + 'denopendser_id' => $approvalserahan['denopendser_id_v3'] + ])->json(); + + $serahan = Http::put(config('api.url_pkb') . '/api/autoserahan/serahan', [ + 'id' => $request->id, + 'kodcaw' => $request->kodcaw, + 'teller' => $request->teller, + 'amaun' => $request->amaun, + 'denopendser_id' => $approvalserahan['denopendser_id_v2'] + ])->json(); + Log::error($serahan); + + $call_set_approval_v3 = Http::withOptions(['verify' => config('app.api_verify')]) + ->put(config('api.url_koop') . '/api/autoserahan/setapproval', [ + 'id' => $request->id, + 'jenis' => 'rewrite', + 'gldetail_id' => $serahan['gldetail_id'] + ])->json(); + }else{ + $pendahuluan = Http::put(config('api.url_koop') . '/api/autoserahan/delete/pendahuluan', [ + 'array_approval' => $approvalserahan, + 'kodcaw' => $request->kodcaw, + 'teller' => $request->teller, + 'amaun' => $request->amaun, + ])->json(); + + Log::info($pendahuluan); + + $serahan = Http::put(config('api.url_pkb') . '/api/autoserahan/delete/serahan', [ + 'array_approval' => $approvalserahan, + 'kodcaw' => $request->kodcaw, + 'teller' => $request->teller, + 'amaun' => $request->amaun, + ])->json(); + + Log::info($serahan); + } + + + } if($response['status'] == 'success'){ event(new AutoSerahan("Lulus",$request->id,$request->kodcaw,$request->teller)); @@ -68,4 +127,11 @@ class AutoSerahanController extends Controller return redirect()->route('autoserahan')->with('error', 'Serahan rejected failed'); } } + + +private function CawanganKod($kodcaw) { + $cawangan = Http::get(config('api.url_koop') . '/api/cawangan/' . $kodcaw)->json(); + + return $cawangan['details_caw'] ?? 'Undefined'; +} } diff --git a/resources/views/autoserahan/index.blade.php b/resources/views/autoserahan/index.blade.php index ab4d2b1..ae925b2 100644 --- a/resources/views/autoserahan/index.blade.php +++ b/resources/views/autoserahan/index.blade.php @@ -24,28 +24,44 @@ - - - - - + + + + + + @if ($list->count() > 0) @foreach($list as $item) - - - - - + + + + + @@ -53,7 +69,7 @@ @else - + @endif @@ -65,4 +81,67 @@ + + + + @include('layouts.footer') + + +@push('additional_scripts') + +@endpush @endsection \ No newline at end of file diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index c50cfd5..4e7fc7e 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -32,7 +32,7 @@ - +
BilCawanganPemohonAmaunTindakanBilCawanganTindakanPemohonAmaunTindakan
{{ $item['id'] }}{{ $item['kodcaw'] }}{{ $item['pc_name'] }}{{ number_format($item['amount'], 2) }} - - Lulus - - - Tolak - + {{ $item['id'] }}{{ $item['cawangan_name'] }} + @if($item['action'] === 'create') + + Create + + @elseif($item['action'] === 'delete') + + Delete + + @endif + {{ $item['pc_name'] }}{{ number_format($item['amount'], 2) }} + + Lulus + + + Tolak +
Tiada dataTiada data