From 6f52b6256f4805d3d338b7c52fd9762c86ae76fd Mon Sep 17 00:00:00 2001 From: hafifierahman Date: Wed, 19 Feb 2025 01:07:27 +0800 Subject: [PATCH 1/8] added serahan v3 --- app/View/Components/AutoSerah.php | 28 +++ .../views/components/auto-serah.blade.php | 2 + .../khazanah/pendahuluanserahanmain.blade.php | 231 ++++++++++++------ ...enominasimodalpendahuluanserahan.blade.php | 1 + 4 files changed, 181 insertions(+), 81 deletions(-) create mode 100644 app/View/Components/AutoSerah.php create mode 100644 resources/views/components/auto-serah.blade.php diff --git a/app/View/Components/AutoSerah.php b/app/View/Components/AutoSerah.php new file mode 100644 index 0000000..85365bc --- /dev/null +++ b/app/View/Components/AutoSerah.php @@ -0,0 +1,28 @@ + + \ No newline at end of file diff --git a/resources/views/khazanah/pendahuluanserahanmain.blade.php b/resources/views/khazanah/pendahuluanserahanmain.blade.php index 8ba7064..cbcb895 100644 --- a/resources/views/khazanah/pendahuluanserahanmain.blade.php +++ b/resources/views/khazanah/pendahuluanserahanmain.blade.php @@ -61,6 +61,7 @@ + @@ -205,25 +206,44 @@ } $('#pendahuluanserahanModal').on('shown.bs.modal', function (e) { + let input = $(e.relatedTarget); + let inputselected = input.data('input'); + + + if(inputselected == 'AutoSerahan') + { + $('#jenisserahan').val('auto'); + $('input[name="radwang"][value="pendahuluan"]').prop('disabled', true); + $('input[name="radwang"][value="serahan"]').prop('checked', true); + $('#keterangan').val('Auto Serahan Kepada V3'); + $('#dtacct').val('1000/010'); + $('#ktacct').val('1000/020'); + $('input[name="denominasi"]').attr('style','display: block'); + $('.denominasi').attr('style','display: block'); + }else{ + $('#jenisserahan').val('biasa'); + $('input[name="radwang"][value="pendahuluan"]').prop('disabled', false); + $('#bundle1').val(''); + $('#totalb1').val(0.00); + $('#bundle5').val(''); + $('#totalb5').val(0.00); + $('#bundle10').val(''); + $('#totalb10').val(0.00); + $('#bundle20').val(''); + $('#totalb20').val(0.00); + $('#bundle50').val(''); + $('#totalb50').val(0.00); + $('#bundle100').val(''); + $('#totalb100').val(0.00); + $('#amaunkiraan').val(''); + $('#dtacct').val(''); + $('#ktacct').val(''); + $('#keterangan').val(''); + $('#amaun').val(''); + $('input[name="radwang"]').prop('checked', false); + } + - $('#bundle1').val(''); - $('#totalb1').val(0.00); - $('#bundle5').val(''); - $('#totalb5').val(0.00); - $('#bundle10').val(''); - $('#totalb10').val(0.00); - $('#bundle20').val(''); - $('#totalb20').val(0.00); - $('#bundle50').val(''); - $('#totalb50').val(0.00); - $('#bundle100').val(''); - $('#totalb100').val(0.00); - $('#amaunkiraan').val(''); - $('#dtacct').val(''); - $('#ktacct').val(''); - $('#keterangan').val(''); - $('#amaun').val(''); - $('input[name="radwang"]').prop('checked', false); }); @@ -343,6 +363,7 @@ let dtacct = $('#dtacct').val(); let ktacct = $('#ktacct').val(); let auth_user = $('#auth_user').val(); //letak user + let jenisserahan = $('#jenisserahan').val(); // Denominasi bundle let bundle1 = $('#bundle1').val(); @@ -373,70 +394,118 @@ return false; } - Swal.fire({ - title: 'Memuatkan...', - allowEscapeKey: false, - allowOutsideClick: false, - didOpen: function () { - Swal.showLoading(); - $('#denominasiHQModal').modal('hide'); - } - }); - - $.ajax({ - method: 'post', - url: '{{ route("khazanah.pendahuluanserahanHQ") }}', - data: { - "_token": "{{ csrf_token() }}", - 'amaun': amaun, - 'jenisgldetail': jenis, - 'keterangan': keterangan, - 'kodcaw': kodcaw, - 'teller': teller, - 'dtacct': dtacct, - 'ktacct': ktacct, - 'auth_user': auth_user, // mskkan auth_user - 'ambilansen1': sen1, - 'ambilansen5': sen5, - 'ambilansen10': sen10, - 'ambilansen20': sen20, - 'ambilansen50': sen50, - 'ambilanring1': ringgit1, - 'ambilanring5': ringgit5, - 'ambilanring10': ringgit10, - 'ambilanring20': ringgit20, - 'ambilanring50': ringgit50, - 'ambilanring100': ringgit100 - }, - success: function (data) { - if (data == 'LULUS') { - Swal.fire({ - icon: 'success', - title: 'Transaksi Berjaya', - allowEscapeKey: false, - allowOutsideClick: false - }).then(function () { - $('#denominasiHQModal').modal('hide'); - $('#pendahuluanserahanModal').modal('hide'); - location.reload(); - }); - } else if (data == 'GAGAL') { - Swal.fire({ - icon: 'error', - title: 'Transaksi Gagal', - allowEscapeKey: false, - allowOutsideClick: false - }).then(function () { - $('#denominasiHQModal').modal('hide'); - $('#pendahuluanserahanModal').modal('hide'); - $("#terima_transaksi").prop('disabled', false); - }); + if(jenisserahan == 'biasa') + { + Swal.fire({ + title: 'Memuatkan...', + allowEscapeKey: false, + allowOutsideClick: false, + didOpen: function () { + Swal.showLoading(); + $('#denominasiHQModal').modal('hide'); } - }, - error: function (jqXHR, textStatus, errorThrown) { - console.log(textStatus, errorThrown); - } - }); + }); + }else{ + Swal.fire({ + title: 'Tunggu Pengesahan Daripada Operasi.', + icon: 'info', + width: 600, + padding: '3em', + background: '#fffff', + showCancelButton: false, + showConfirmButton: false, + allowOutsideClick: false, + allowEscapeKey: false, + allowEnterKey: false, + didOpen: function () { + $('#denominasiHQModal').modal('hide'); + } + }); + } + + let array_send = { + amaun: amaun, + jenisgldetail: jenis, + keterangan: keterangan, + kodcaw: kodcaw, + teller: teller, + dtacct: dtacct, + ktacct: ktacct, + auth_user: auth_user, + ambilansen1: sen1, + ambilansen5: sen5, + ambilansen10: sen10, + ambilansen20: sen20, + ambilansen50: sen50, + ambilanring1: ringgit1, + ambilanring5: ringgit5, + ambilanring10: ringgit10, + ambilanring20: ringgit20, + ambilanring50: ringgit50, + ambilanring100: ringgit100 + }; + this.sendRequest(array_send,jenisserahan); + } + + function sendRequest(arraysend,jenisserahan){ + + if(jenisserahan == 'biasa'){ + $.ajax({ + method: 'post', + url: '{{ route("khazanah.pendahuluanserahanHQ") }}', + data: { + "_token": "{{ csrf_token() }}", + 'amaun': arraysend['amaun'], + 'jenisgldetail': arraysend['jenis'], + 'keterangan': arraysend['keterangan'], + 'kodcaw': arraysend['kodcaw'], + 'teller': arraysend['teller'], + 'dtacct': arraysend['dtacct'], + 'ktacct': arraysend['ktacct'], + 'auth_user': arraysend['auth_user'], + 'ambilansen1': arraysend['ambilansen1'], + 'ambilansen5': arraysend['ambilansen5'], + 'ambilansen10': arraysend['ambilansen10'], + 'ambilansen20': arraysend['ambilansen20'], + 'ambilansen50': arraysend['ambilansen50'], + 'ambilanring1': arraysend['ambilanring1'], + 'ambilanring5': arraysend['ambilanring5'], + 'ambilanring10': arraysend['ambilanring10'], + 'ambilanring20': arraysend['ambilanring20'], + 'ambilanring50': arraysend['ambilanring50'], + 'ambilanring100': arraysend['ambilanring100'] + }, + success: function (data) { + if (data == 'LULUS') { + Swal.fire({ + icon: 'success', + title: 'Transaksi Berjaya', + allowEscapeKey: false, + allowOutsideClick: false + }).then(function () { + $('#denominasiHQModal').modal('hide'); + $('#pendahuluanserahanModal').modal('hide'); + location.reload(); + }); + } else if (data == 'GAGAL') { + Swal.fire({ + icon: 'error', + title: 'Transaksi Gagal', + allowEscapeKey: false, + allowOutsideClick: false + }).then(function () { + $('#denominasiHQModal').modal('hide'); + $('#pendahuluanserahanModal').modal('hide'); + $("#terima_transaksi").prop('disabled', false); + }); + } + }, + error: function (jqXHR, textStatus, errorThrown) { + console.log(textStatus, errorThrown); + } + }); + } + } diff --git a/resources/views/modal/denominasimodalpendahuluanserahan.blade.php b/resources/views/modal/denominasimodalpendahuluanserahan.blade.php index 0ba0096..7b7e068 100644 --- a/resources/views/modal/denominasimodalpendahuluanserahan.blade.php +++ b/resources/views/modal/denominasimodalpendahuluanserahan.blade.php @@ -132,6 +132,7 @@ + From d79c367d4805b209e81bd21fe9051990d65534c5 Mon Sep 17 00:00:00 2001 From: hafifierahman Date: Sun, 2 Mar 2025 09:01:18 +0800 Subject: [PATCH 2/8] added event and call --- app/Events/AutoSerahan.php | 36 ++++++++++ app/Http/Controllers/KhazanahController.php | 72 +++++++++++++++++++ config/api.php | 4 +- .../khazanah/pendahuluanserahanmain.blade.php | 58 ++++++++++++++- routes/web.php | 2 + 5 files changed, 169 insertions(+), 3 deletions(-) create mode 100644 app/Events/AutoSerahan.php diff --git a/app/Events/AutoSerahan.php b/app/Events/AutoSerahan.php new file mode 100644 index 0000000..a618636 --- /dev/null +++ b/app/Events/AutoSerahan.php @@ -0,0 +1,36 @@ +pengesahan = $pengesahan; + $this->id = $id; + $this->cawangan = $cawangan; + $this->kodlaluan = $kodlaluan; + } + + public function broadcastOn() + { + return ['autoserahan-notice']; + } + + public function broadcastAs() + { + return 'autoserahan-event'; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/KhazanahController.php b/app/Http/Controllers/KhazanahController.php index 8cba09c..5bc8be0 100644 --- a/app/Http/Controllers/KhazanahController.php +++ b/app/Http/Controllers/KhazanahController.php @@ -4286,4 +4286,76 @@ class KhazanahController extends Controller $val = preg_replace('/\.(?=.*\.)/', '', $val); return floatval($val); } + + + public function AutoSerahan(Request $request) + { + // Step 1: Call API v3 First + $call_approval_v3 = Http::withOptions(['verify' => config('app.api_verify')]) + ->post(config('api.url_koop') . '/api/autoserahan/create', [ + 'kodcaw' => $request->arraysend['kodcaw'], + 'teller' => $request->arraysend['teller'], + 'amaun' => $request->arraysend['amaun'], + 'txtring1' => $request->arraysend['ambilanring1'], + 'txtring5' => $request->arraysend['ambilanring5'], + 'txtring10' => $request->arraysend['ambilanring10'], + 'txtring20' => $request->arraysend['ambilanring20'], + 'txtring50' => $request->arraysend['ambilanring50'], + 'txtring100' => $request->arraysend['ambilanring100'], + 'txtsen1' => $request->arraysend['ambilansen1'], + 'txtsen5' => $request->arraysend['ambilansen5'], + 'txtsen10' => $request->arraysend['ambilansen10'], + 'txtsen20' => $request->arraysend['ambilansen20'], + 'txtsen50' => $request->arraysend['ambilansen50'], + 'jenis' => 'pendahuluan', + 'version' => 'v3', + ])->json(); + + // Check if API v3 was successful before proceeding + if (!isset($call_approval_v3['id']) || $call_approval_v3['status'] !== 'success') { + return response()->json([ + 'status' => 'failed', + 'message' => 'API v3 failed. Cannot proceed to API v2.', + 'error' => $call_approval_v3 + ], 400); + } + + // Step 2: Call API v2 using response from API v3 + $call_approval_v2 = Http::withOptions(['verify' => config('app.api_verify')]) + ->post(config('api.url_pkb') . '/api/autoserahan/create', [ + 'id' => $call_approval_v3['id'], // Use ID from API v3 response + 'kodcaw' => $request->arraysend['kodcaw'], + 'teller' => $request->arraysend['teller'], + 'amaun' => $request->arraysend['amaun'], + 'txtring1' => $request->arraysend['ambilanring1'], + 'txtring5' => $request->arraysend['ambilanring5'], + 'txtring10' => $request->arraysend['ambilanring10'], + 'txtring20' => $request->arraysend['ambilanring20'], + 'txtring50' => $request->arraysend['ambilanring50'], + 'txtring100' => $request->arraysend['ambilanring100'], + 'txtsen1' => $request->arraysend['ambilansen1'], + 'txtsen5' => $request->arraysend['ambilansen5'], + 'txtsen10' => $request->arraysend['ambilansen10'], + 'txtsen20' => $request->arraysend['ambilansen20'], + 'txtsen50' => $request->arraysend['ambilansen50'], + 'jenis' => 'serahan', + 'version' => 'v2', + ])->json(); + + // Step 3: Check if both API v3 and API v2 were successful + if ($call_approval_v2['status'] === 'success' && $call_approval_v3['status'] === 'success') { + return response()->json([ + 'status' => 'success', + 'message' => 'Approval process completed successfully', + 'id' => $call_approval_v3['id'], + ]); + } else { + return response()->json([ + 'status' => 'failed', + 'message' => 'One of the approvals failed', + ], 400); + } + } + + } diff --git a/config/api.php b/config/api.php index e8ea7a3..7b7aa37 100644 --- a/config/api.php +++ b/config/api.php @@ -1,4 +1,6 @@ env('API_URL') + 'url' => env('API_URL'), + 'url_koop' => env('API_URL_KOOP','http://localhost:8000'), + 'url_pkb' => env('API_URL_PKB','http://localhost:8000'), ]; \ No newline at end of file diff --git a/resources/views/khazanah/pendahuluanserahanmain.blade.php b/resources/views/khazanah/pendahuluanserahanmain.blade.php index cbcb895..c579a82 100644 --- a/resources/views/khazanah/pendahuluanserahanmain.blade.php +++ b/resources/views/khazanah/pendahuluanserahanmain.blade.php @@ -393,6 +393,7 @@ }); return false; } + let SwalPengesahan = ''; if(jenisserahan == 'biasa') { @@ -406,7 +407,7 @@ } }); }else{ - Swal.fire({ + let SwalPengesahan = Swal.fire({ title: 'Tunggu Pengesahan Daripada Operasi.', icon: 'info', width: 600, @@ -448,7 +449,6 @@ } function sendRequest(arraysend,jenisserahan){ - if(jenisserahan == 'biasa'){ $.ajax({ method: 'post', @@ -503,6 +503,60 @@ error: function (jqXHR, textStatus, errorThrown) { console.log(textStatus, errorThrown); } + }); + }else{ + let approvalid = ''; + $.ajax({ + method: 'post', + url: '{{ route("khazanah.autoserahan") }}', + data: { + "_token": "{{ csrf_token() }}", + 'arraysend': arraysend + }, + success:function(e){ + approvalid = e.id; + Swal.update({ + text: 'Menunggu Pengesahan Daripada Operasi!', + }); + } + }); + + var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", { + cluster: 'ap1', + encrypted: true + }); + + var channel = pusher.subscribe('autoserahan-notice'); + channel.bind('autoserahan-event', function(data) { + console.log(data); + if(data.pengesahan === 'Lulus' && data.id == approvalid && data.cawangan == kodcaw && data.kodlaluan == teller) + { + Swal.fire({ + icon: 'success', + title: 'Auto Serahan Berjaya', + text: 'Operasi berjaya meluluskan Auto Serahan!' + }).then(function(){ + location.reload(); + }); + }else if(data.pengesahan == 'Batal' && data.id == approvalid && data.cawangan == kodcaw && data.kodlaluan == teller){ + Swal.fire({ + icon: 'error', + title: 'Auto Serahan Dibatalkan', + text: 'Operasi membatalkan Auto Serahan!' + }).then(function(){ + location.reload(); + }); + }else{ + Swal.fire({ + icon: 'error', + title: 'Auto Serahan Mengalami Ralat', + text: 'Auto Serahan tidak berjaya!' + }).then(function(){ + location.reload(); + }); + } + + }); } diff --git a/routes/web.php b/routes/web.php index d31216d..e6719ef 100644 --- a/routes/web.php +++ b/routes/web.php @@ -161,6 +161,8 @@ Route::post('/permohonan/simpan',['as'=>'permohonan.simpan','uses' => 'KhazanahC Route::get('/permohonan/status/{mohonid}',['as'=>'permohonan.status','uses' => 'KhazanahController@StatusPermohonan'])->middleware('auth','khazanah'); Route::post('/permohonan/cit',['as'=>'permohonan.cit','uses' => 'KhazanahController@CITPermohonan'])->middleware('auth','khazanah'); Route::post('/permohonan/download',['as'=>'permohonan.download','uses' => 'KhazanahController@DownloadFiles'])->middleware('auth','khazanah'); +Route::post('/khazanah/autoserahan',['as'=>'khazanah.autoserahan','uses'=>'KhazanahController@AutoSerahan'])->middleware('auth','khazanah'); + Route::post('/kakitangan/harian',['as'=>'kakitangan.harian','uses'=>'KakitanganController@kakitanganHarian'])->middleware('auth','khazanah'); Route::get('/lelong',['as'=>'lelong','uses'=>'LelongController@lelong']); From f760a683d94f6cacb35ff8bbbca04cb1728e9a16 Mon Sep 17 00:00:00 2001 From: Hafifie PKB Date: Mon, 17 Mar 2025 11:37:03 +0800 Subject: [PATCH 3/8] added delete function in kaunter --- app/Http/Controllers/KhazanahController.php | 35 +++++- .../khazanah/pendahuluanserahanmain.blade.php | 113 +++++++++++++++++- 2 files changed, 140 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/KhazanahController.php b/app/Http/Controllers/KhazanahController.php index 5bc8be0..cd4c9d1 100644 --- a/app/Http/Controllers/KhazanahController.php +++ b/app/Http/Controllers/KhazanahController.php @@ -215,7 +215,11 @@ class KhazanahController extends Controller $denominasi=$denominasi[0]; } - return view('khazanah.pendahuluanserahanmain',compact('cawangan_info','listgldetail','denominasi')); + $proses = Http::withOptions(['verify' => config('app.api_verify')])->get( config('api.url_koop') .'/api/autoserahan/checkapproval',[ + 'pc_name' => $auth_user['name'] + ])->json(); + + return view('khazanah.pendahuluanserahanmain',compact('cawangan_info','listgldetail','denominasi','proses')); } @@ -4290,6 +4294,24 @@ class KhazanahController extends Controller public function AutoSerahan(Request $request) { + if(isset($request->do_delete) && $request->do_delete == true){ + $call_approval_v3 = Http::withOptions(['verify' => config('app.api_verify')]) + ->post(config('api.url_koop') . '/api/autoserahan/delete', [ + 'recno' => $request->recno, + 'version' => 'v3', + 'kodcaw' => $request->kodcaw, + 'teller' => $request->teller, + 'amaun' => $request->amaun, + ])->json(); + + return response()->json([ + 'status' => 'success', + 'message' => 'Approval process completed successfully', + 'id' => $call_approval_v3['id'], + ]); + + } + // Step 1: Call API v3 First $call_approval_v3 = Http::withOptions(['verify' => config('app.api_verify')]) ->post(config('api.url_koop') . '/api/autoserahan/create', [ @@ -4308,6 +4330,7 @@ class KhazanahController extends Controller 'txtsen20' => $request->arraysend['ambilansen20'], 'txtsen50' => $request->arraysend['ambilansen50'], 'jenis' => 'pendahuluan', + 'action' => 'create', 'version' => 'v3', ])->json(); @@ -4342,8 +4365,16 @@ class KhazanahController extends Controller 'version' => 'v2', ])->json(); + $call_set_approval_v3 = Http::withOptions(['verify' => config('app.api_verify')]) + ->put(config('api.url_koop') . '/api/autoserahan/setapproval', [ + 'jenis' => 'create', + 'id' => $call_approval_v3['id'], + 'deno_id' => $call_approval_v2['denoid'] + ])->json(); + + // Step 3: Check if both API v3 and API v2 were successful - if ($call_approval_v2['status'] === 'success' && $call_approval_v3['status'] === 'success') { + if ($call_approval_v2['status'] === 'success' && $call_approval_v3['status'] === 'success' && $call_set_approval_v3['status'] === 'success') { return response()->json([ 'status' => 'success', 'message' => 'Approval process completed successfully', diff --git a/resources/views/khazanah/pendahuluanserahanmain.blade.php b/resources/views/khazanah/pendahuluanserahanmain.blade.php index c579a82..0d74464 100644 --- a/resources/views/khazanah/pendahuluanserahanmain.blade.php +++ b/resources/views/khazanah/pendahuluanserahanmain.blade.php @@ -5,6 +5,23 @@ @include('modal.pendahuluanserahan') @include('modal.denominasimodalpendahuluanserahan') +@if(count($proses) > 0) + +@endif
@@ -51,7 +68,7 @@ {{ $gldetail['descpt'] }} {{ ($gldetail['pendahuluan'] == 0 && ($gldetail['ktacct'] == '7000/102' || $gldetail['ktacct'] == '7000/106')) ? number_format($gldetail['amaun'],2) : number_format($gldetail['pendahuluan'],2) }} {{ ($gldetail['serahan'] == 0 && ($gldetail['dtacct'] == '1000/026' || $gldetail['dtacct'] == '1000/020' || $gldetail['dtacct'] == '1000/090')) ? number_format($gldetail['amaun'],2) : number_format($gldetail['serahan'],2) }} - @if($date === $gldetail['tarikh'] && !fnmatch('SERAHAN BAYAR ONLINE*',$gldetail['descpt'])) @else @endif + @if($date === $gldetail['tarikh'] && !fnmatch('SERAHAN BAYAR ONLINE*',$gldetail['descpt'])) @else @endif @endforeach @@ -215,7 +232,8 @@ $('#jenisserahan').val('auto'); $('input[name="radwang"][value="pendahuluan"]').prop('disabled', true); $('input[name="radwang"][value="serahan"]').prop('checked', true); - $('#keterangan').val('Auto Serahan Kepada V3'); + $('#keterangan').val('Serahan Kepada V3'); + $('#keterangan').attr('readonly', true); $('#dtacct').val('1000/010'); $('#ktacct').val('1000/020'); $('input[name="denominasi"]').attr('style','display: block'); @@ -240,6 +258,7 @@ $('#ktacct').val(''); $('#keterangan').val(''); $('#amaun').val(''); + $('#keterangan').attr('readonly', false); $('input[name="radwang"]').prop('checked', false); } @@ -450,13 +469,14 @@ function sendRequest(arraysend,jenisserahan){ if(jenisserahan == 'biasa'){ + console.log(arraysend); $.ajax({ method: 'post', url: '{{ route("khazanah.pendahuluanserahanHQ") }}', data: { "_token": "{{ csrf_token() }}", 'amaun': arraysend['amaun'], - 'jenisgldetail': arraysend['jenis'], + 'jenisgldetail': arraysend['jenisgldetail'], 'keterangan': arraysend['keterangan'], 'kodcaw': arraysend['kodcaw'], 'teller': arraysend['teller'], @@ -515,9 +535,11 @@ }, success:function(e){ approvalid = e.id; - Swal.update({ - text: 'Menunggu Pengesahan Daripada Operasi!', - }); + if(e.status == 'success'){ + Swal.update({ + text: 'Menunggu Pengesahan Daripada Operasi!', + }); + } } }); @@ -562,5 +584,84 @@ } + function deleteautoserahan(e){ + let recno = $(e).data('recno'); + let pend = $(e).data('pend'); + let ser = $(e).data('ser'); + + let SwalPengesahan = Swal.fire({ + title: 'Tunggu Pengesahan Daripada Operasi.', + icon: 'info', + width: 600, + padding: '3em', + background: '#fffff', + showCancelButton: false, + showConfirmButton: false, + allowOutsideClick: false, + allowEscapeKey: false, + allowEnterKey: false, + }); + + let approvalid = ''; + $.ajax({ + method: 'post', + url: '{{ route("khazanah.autoserahan") }}', + data: { + "_token": "{{ csrf_token() }}", + 'do_delete': true, + 'recno' : recno, + 'kodcaw' : kodcaw, + 'teller' : teller, + 'amaun' : (pend > 0 ) ? pend : ser + }, + success:function(e){ + approvalid = e.id; + if(e.status == 'success'){ + Swal.update({ + text: 'Menunggu Pengesahan Daripada Operasi!', + }); + } + } + }); + + var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", { + cluster: 'ap1', + encrypted: true + }); + + var channel = pusher.subscribe('autoserahan-notice'); + channel.bind('autoserahan-event', function(data) { + console.log(data); + if(data.pengesahan === 'Lulus' && data.id == approvalid && data.cawangan == kodcaw && data.kodlaluan == teller) + { + Swal.fire({ + icon: 'success', + title: 'Auto Serahan Berjaya', + text: 'Operasi berjaya meluluskan Auto Serahan!' + }).then(function(){ + location.reload(); + }); + }else if(data.pengesahan == 'Batal' && data.id == approvalid && data.cawangan == kodcaw && data.kodlaluan == teller){ + Swal.fire({ + icon: 'error', + title: 'Auto Serahan Dibatalkan', + text: 'Operasi membatalkan Auto Serahan!' + }).then(function(){ + location.reload(); + }); + }else{ + Swal.fire({ + icon: 'error', + title: 'Auto Serahan Mengalami Ralat', + text: 'Auto Serahan tidak berjaya!' + }).then(function(){ + location.reload(); + }); + } + + + }); + } + @endsection From 4751c879276e927afa8ee5d5aca8e8f3b7891c23 Mon Sep 17 00:00:00 2001 From: Ain Izazi Date: Tue, 18 Mar 2025 12:16:05 +0800 Subject: [PATCH 4/8] update laporan pendahuluan dan serahan --- resources/views/khazanah/laporan/pendahuluanserahan.blade.php | 4 ++-- resources/views/print/laporan_pendahuluanserahan.blade.php | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/resources/views/khazanah/laporan/pendahuluanserahan.blade.php b/resources/views/khazanah/laporan/pendahuluanserahan.blade.php index 6d874fb..351eac7 100644 --- a/resources/views/khazanah/laporan/pendahuluanserahan.blade.php +++ b/resources/views/khazanah/laporan/pendahuluanserahan.blade.php @@ -102,14 +102,14 @@
-
- +

diff --git a/resources/views/print/laporan_pendahuluanserahan.blade.php b/resources/views/print/laporan_pendahuluanserahan.blade.php index 412e509..2e457df 100644 --- a/resources/views/print/laporan_pendahuluanserahan.blade.php +++ b/resources/views/print/laporan_pendahuluanserahan.blade.php @@ -174,6 +174,7 @@ $reportNames = [ 'serahan' => 'LAPORAN SERAHAN HQ', 'pendahuluan' => 'LAPORAN PENDAHULUAN HQ', 'online' => 'LAPORAN SERAHAN ONLINE HQ', + 'serahankepadav3' => 'LAPORAN SERAHAN KEPADA V3', 'serahanlelong' => 'LAPORAN SERAHAN LELONG HQ', 'serahanonline' => 'LAPORAN SERAHAN DAN SERAHAN ONLINE HQ', 'all' => 'LAPORAN KESELURUHAN HQ' From aed0ef5173650133cb4bbaa177da5878d1fce7ea Mon Sep 17 00:00:00 2001 From: Hafifie PKB Date: Wed, 19 Mar 2025 10:06:42 +0800 Subject: [PATCH 5/8] delete cawangan since it have kodlaluan and id dah --- .../khazanah/pendahuluanserahanmain.blade.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/resources/views/khazanah/pendahuluanserahanmain.blade.php b/resources/views/khazanah/pendahuluanserahanmain.blade.php index 0d74464..2a3e0c5 100644 --- a/resources/views/khazanah/pendahuluanserahanmain.blade.php +++ b/resources/views/khazanah/pendahuluanserahanmain.blade.php @@ -353,7 +353,7 @@ function funcbatal() { $('#denominasiHQModal').modal('hide'); - $('#pendahuluanserahanModal').modal('show'); + // $('#pendahuluanserahanModal').modal('show'); $("#terima_transaksi").prop('disabled', false); @@ -550,8 +550,8 @@ var channel = pusher.subscribe('autoserahan-notice'); channel.bind('autoserahan-event', function(data) { - console.log(data); - if(data.pengesahan === 'Lulus' && data.id == approvalid && data.cawangan == kodcaw && data.kodlaluan == teller) + console.log(data,approvalid,kodcaw,teller); + if(data.pengesahan === 'Lulus' && data.id == approvalid && data.kodlaluan == teller) { Swal.fire({ icon: 'success', @@ -560,7 +560,7 @@ }).then(function(){ location.reload(); }); - }else if(data.pengesahan == 'Batal' && data.id == approvalid && data.cawangan == kodcaw && data.kodlaluan == teller){ + }else if(data.pengesahan == 'Batal' && data.id == approvalid && data.kodlaluan == teller){ Swal.fire({ icon: 'error', title: 'Auto Serahan Dibatalkan', @@ -631,8 +631,8 @@ var channel = pusher.subscribe('autoserahan-notice'); channel.bind('autoserahan-event', function(data) { - console.log(data); - if(data.pengesahan === 'Lulus' && data.id == approvalid && data.cawangan == kodcaw && data.kodlaluan == teller) + console.log(data,approvalid,teller,kodcaw); + if(data.pengesahan === 'Lulus' && data.id == approvalid && data.kodlaluan == teller) { Swal.fire({ icon: 'success', @@ -641,7 +641,7 @@ }).then(function(){ location.reload(); }); - }else if(data.pengesahan == 'Batal' && data.id == approvalid && data.cawangan == kodcaw && data.kodlaluan == teller){ + }else if(data.pengesahan == 'Batal' && data.id == approvalid && data.kodlaluan == teller){ Swal.fire({ icon: 'error', title: 'Auto Serahan Dibatalkan', From ae3b9cf7bc64b10397bba67b0757c41494c0b210 Mon Sep 17 00:00:00 2001 From: Ain Izazi Date: Wed, 19 Mar 2025 10:35:03 +0800 Subject: [PATCH 6/8] update laporan --- resources/views/print/laporan_pendahuluanserahan.blade.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/views/print/laporan_pendahuluanserahan.blade.php b/resources/views/print/laporan_pendahuluanserahan.blade.php index 2e457df..1f3371d 100644 --- a/resources/views/print/laporan_pendahuluanserahan.blade.php +++ b/resources/views/print/laporan_pendahuluanserahan.blade.php @@ -172,6 +172,7 @@ @php $reportNames = [ 'serahan' => 'LAPORAN SERAHAN HQ', + 'serahankepadav3' => 'LAPORAN SERAHAN KEPADA V3', 'pendahuluan' => 'LAPORAN PENDAHULUAN HQ', 'online' => 'LAPORAN SERAHAN ONLINE HQ', 'serahankepadav3' => 'LAPORAN SERAHAN KEPADA V3', From 988b04f817afc2a841015741158ff779f7ef0b8a Mon Sep 17 00:00:00 2001 From: Hafifie PKB Date: Tue, 25 Mar 2025 00:54:18 +0800 Subject: [PATCH 7/8] added split autoserahan and modal biasa --- app/Http/Controllers/KhazanahController.php | 3 + .../views/components/auto-serah.blade.php | 2 +- .../khazanah/pendahuluanserahanmain.blade.php | 80 ++++++++++++++++--- resources/views/modal/autoserahan.blade.php | 49 ++++++++++++ 4 files changed, 124 insertions(+), 10 deletions(-) create mode 100644 resources/views/modal/autoserahan.blade.php diff --git a/app/Http/Controllers/KhazanahController.php b/app/Http/Controllers/KhazanahController.php index cd4c9d1..cd7faf8 100644 --- a/app/Http/Controllers/KhazanahController.php +++ b/app/Http/Controllers/KhazanahController.php @@ -13,6 +13,7 @@ use App\Events\NotifikasiKelulusan; use App\Events\NotifikasiUbahHapus; use App\Events\NotifikasiAGH; use App\Events\NotifikasiPetiBesi; +use App\Events\AutoSerahan; use App\User; use App\Cawangan; @@ -4375,6 +4376,8 @@ class KhazanahController extends Controller // Step 3: Check if both API v3 and API v2 were successful if ($call_approval_v2['status'] === 'success' && $call_approval_v3['status'] === 'success' && $call_set_approval_v3['status'] === 'success') { + event(new AutoSerahan("Operasi",$call_approval_v3['id'],$request->arraysend['kodcaw'],$request->arraysend['teller'])); + return response()->json([ 'status' => 'success', 'message' => 'Approval process completed successfully', diff --git a/resources/views/components/auto-serah.blade.php b/resources/views/components/auto-serah.blade.php index 0a53f47..9e6537e 100644 --- a/resources/views/components/auto-serah.blade.php +++ b/resources/views/components/auto-serah.blade.php @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/views/khazanah/pendahuluanserahanmain.blade.php b/resources/views/khazanah/pendahuluanserahanmain.blade.php index 2a3e0c5..fe54107 100644 --- a/resources/views/khazanah/pendahuluanserahanmain.blade.php +++ b/resources/views/khazanah/pendahuluanserahanmain.blade.php @@ -3,6 +3,7 @@ @section('content') @include('modal.pendahuluanserahan') +@include('modal.autoserahan') @include('modal.denominasimodalpendahuluanserahan') @if(count($proses) > 0) @@ -232,6 +233,7 @@ $('#jenisserahan').val('auto'); $('input[name="radwang"][value="pendahuluan"]').prop('disabled', true); $('input[name="radwang"][value="serahan"]').prop('checked', true); + $('input[name="radwang"][value="serahan"]').prop('disabled', true); $('#keterangan').val('Serahan Kepada V3'); $('#keterangan').attr('readonly', true); $('#dtacct').val('1000/010'); @@ -568,16 +570,7 @@ }).then(function(){ location.reload(); }); - }else{ - Swal.fire({ - icon: 'error', - title: 'Auto Serahan Mengalami Ralat', - text: 'Auto Serahan tidak berjaya!' - }).then(function(){ - location.reload(); - }); } - }); } @@ -663,5 +656,74 @@ }); } + const getCurrentDate = () => { + const today = new Date(); + const day = String(today.getDate()).padStart(2, '0'); + const month = String(today.getMonth() + 1).padStart(2, '0'); + const year = today.getFullYear(); + + return `${day}/${month}/${year}`; + }; + + function triggerValue(){ + let form = $('form[name="autoserah"]'); + form.find('[name="tarikh"]').val(getCurrentDate()); + } + + $('#autoSerahanModal').on('shown.bs.modal', function () { + $('input[name="denominasi"]').attr('style','display: block'); + $('.denominasi').attr('style','display: block'); + triggerValue(); + }); + + function terima_autoserah(){ + let form = $('form[name="autoserah"]'); + + let amaun = form.find('[name="amaun"]').val(); + let keterangan = form.find('[name="keterangan"]').val(); + let dtacct = form.find('[name="dtacct"]').val(); + let ktacct = form.find('[name="ktacct"]').val(); + + if(!amaun){ + $("[name='erroramaun']").show(); + $("[name='erroramaun']").text("*Isikan amaun dalam input!"); + $("[name='amaun']").addClass('is-invalid'); + boolamaun = true; + }else{ + $("[name='erroramaun']").hide(); + $("[name='amaun']").removeClass('is-invalid'); + boolamaun = false; + } + + if(!keterangan){ + $("[name='errorketerangan']").show(); + $("[name='errorketerangan']").text("*Isikan keterangan dalam input!"); + $("[name='keterangan']").addClass('is-invalid'); + boolketerangan = true; + }else{ + $("[name='errorketerangan']").hide(); + $("[name='keterangan']").removeClass('is-invalid'); + boolketerangan = false; + } + + // If all validations pass + if(boolamaun === false && boolketerangan === false) { + // Carry all validated values, including auth_user + + $('#amaundiminta').val(amaun); + $('#denominasiHQModal').modal('show'); + $('#autoSerahanModal').modal('hide'); + $('#jenisjenis').val('serahan'); + $('#jenisserahan').val('auto'); + + return true; + }else{ + $("#terima_transaksi_autoserah").prop('disabled', false); + event.preventDefault(); + return false; + } + } + + @endsection diff --git a/resources/views/modal/autoserahan.blade.php b/resources/views/modal/autoserahan.blade.php new file mode 100644 index 0000000..ca56f53 --- /dev/null +++ b/resources/views/modal/autoserahan.blade.php @@ -0,0 +1,49 @@ + + From 236bb932279c03bb4992c772c1beced9f53f2df5 Mon Sep 17 00:00:00 2001 From: Hafifie PKB Date: Mon, 7 Apr 2025 00:12:06 +0800 Subject: [PATCH 8/8] change wording in serahan v3/auto pendahuluan V2 --- .../khazanah/pendahuluanserahanmain.blade.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/resources/views/khazanah/pendahuluanserahanmain.blade.php b/resources/views/khazanah/pendahuluanserahanmain.blade.php index fe54107..5b0a596 100644 --- a/resources/views/khazanah/pendahuluanserahanmain.blade.php +++ b/resources/views/khazanah/pendahuluanserahanmain.blade.php @@ -557,16 +557,16 @@ { Swal.fire({ icon: 'success', - title: 'Auto Serahan Berjaya', - text: 'Operasi berjaya meluluskan Auto Serahan!' + title: 'Serahan V3/Auto Pendahuluan V2 Berjaya', + text: 'Operasi berjaya meluluskan Serahan ke V3 dan Auto Pendahuluan dari V2!' }).then(function(){ location.reload(); }); }else if(data.pengesahan == 'Batal' && data.id == approvalid && data.kodlaluan == teller){ Swal.fire({ icon: 'error', - title: 'Auto Serahan Dibatalkan', - text: 'Operasi membatalkan Auto Serahan!' + title: 'Serahan V3/Auto Pendahuluan V2 Dibatalkan', + text: 'Operasi membatalkan Serahan ke V3 dan Auto Pendahuluan dari V2!' }).then(function(){ location.reload(); }); @@ -629,16 +629,16 @@ { Swal.fire({ icon: 'success', - title: 'Auto Serahan Berjaya', - text: 'Operasi berjaya meluluskan Auto Serahan!' + title: 'Serahan V3/Auto Pendahuluan V2 Berjaya', + text: 'Operasi berjaya meluluskan Serahan ke V3 dan Auto Pendahuluan dari V2!' }).then(function(){ location.reload(); }); }else if(data.pengesahan == 'Batal' && data.id == approvalid && data.kodlaluan == teller){ Swal.fire({ icon: 'error', - title: 'Auto Serahan Dibatalkan', - text: 'Operasi membatalkan Auto Serahan!' + title: 'Serahan V3/Auto Pendahuluan V2 Dibatalkan', + text: 'Operasi membatalkan Serahan ke V3 dan Auto Pendahuluan dari V2!' }).then(function(){ location.reload(); });