Merged in release/autopendahuluan (pull request #273)
Release/autopendahuluan
This commit is contained in:
@@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Events;
|
||||||
|
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
use Illuminate\Foundation\Events\Dispatchable;
|
||||||
|
use Illuminate\Broadcasting\InteractsWithSockets;
|
||||||
|
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
||||||
|
|
||||||
|
class AutoSerahan implements ShouldBroadcast
|
||||||
|
{
|
||||||
|
use Dispatchable, InteractsWithSockets, SerializesModels;
|
||||||
|
|
||||||
|
public $pengesahan;
|
||||||
|
public $cawangan;
|
||||||
|
public $kodlaluan;
|
||||||
|
public $id;
|
||||||
|
|
||||||
|
public function __construct($pengesahan,$id,$cawangan,$kodlaluan)
|
||||||
|
{
|
||||||
|
$this->pengesahan = $pengesahan;
|
||||||
|
$this->id = $id;
|
||||||
|
$this->cawangan = $cawangan;
|
||||||
|
$this->kodlaluan = $kodlaluan;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function broadcastOn()
|
||||||
|
{
|
||||||
|
return ['autoserahan-notice'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function broadcastAs()
|
||||||
|
{
|
||||||
|
return 'autoserahan-event';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,6 +13,7 @@ use App\Events\NotifikasiKelulusan;
|
|||||||
use App\Events\NotifikasiUbahHapus;
|
use App\Events\NotifikasiUbahHapus;
|
||||||
use App\Events\NotifikasiAGH;
|
use App\Events\NotifikasiAGH;
|
||||||
use App\Events\NotifikasiPetiBesi;
|
use App\Events\NotifikasiPetiBesi;
|
||||||
|
use App\Events\AutoSerahan;
|
||||||
|
|
||||||
use App\User;
|
use App\User;
|
||||||
use App\Cawangan;
|
use App\Cawangan;
|
||||||
@@ -215,7 +216,11 @@ class KhazanahController extends Controller
|
|||||||
$denominasi=$denominasi[0];
|
$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'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -4286,4 +4291,105 @@ class KhazanahController extends Controller
|
|||||||
$val = preg_replace('/\.(?=.*\.)/', '', $val);
|
$val = preg_replace('/\.(?=.*\.)/', '', $val);
|
||||||
return floatval($val);
|
return floatval($val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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', [
|
||||||
|
'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',
|
||||||
|
'action' => 'create',
|
||||||
|
'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();
|
||||||
|
|
||||||
|
$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' && $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',
|
||||||
|
'id' => $call_approval_v3['id'],
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
return response()->json([
|
||||||
|
'status' => 'failed',
|
||||||
|
'message' => 'One of the approvals failed',
|
||||||
|
], 400);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\View\Components;
|
||||||
|
|
||||||
|
use Illuminate\View\Component;
|
||||||
|
|
||||||
|
class AutoSerah extends Component
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Create a new component instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the view / contents that represent the component.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\View\View|string
|
||||||
|
*/
|
||||||
|
public function render()
|
||||||
|
{
|
||||||
|
return view('components.auto-serah');
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-1
@@ -1,4 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'url' => 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'),
|
||||||
];
|
];
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<!-- Modal Auto Serah -->
|
||||||
|
<button class="btn btn-info mt-4" data-toggle="modal" data-target="#autoSerahanModal" data-input="AutoSerahan">Serahan V3</button>
|
||||||
@@ -102,6 +102,7 @@
|
|||||||
<select name="radpendser" id="radpendser" class="form-control">
|
<select name="radpendser" id="radpendser" class="form-control">
|
||||||
<option value="pendahuluan" selected>Pendahuluan</option>
|
<option value="pendahuluan" selected>Pendahuluan</option>
|
||||||
<option value="serahan">Serahan</option>
|
<option value="serahan">Serahan</option>
|
||||||
|
<option value="serahankepadav3">Serahan Kepada V3</option>
|
||||||
<option value="online">Serahan Online</option>
|
<option value="online">Serahan Online</option>
|
||||||
<option value="serahanlelong">Serahan Lelong</option>
|
<option value="serahanlelong">Serahan Lelong</option>
|
||||||
<option value="serahanonline">Serahan Keseluruhan</option>
|
<option value="serahanonline">Serahan Keseluruhan</option>
|
||||||
@@ -109,7 +110,6 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|||||||
@@ -3,8 +3,26 @@
|
|||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
@include('modal.pendahuluanserahan')
|
@include('modal.pendahuluanserahan')
|
||||||
|
@include('modal.autoserahan')
|
||||||
@include('modal.denominasimodalpendahuluanserahan')
|
@include('modal.denominasimodalpendahuluanserahan')
|
||||||
|
|
||||||
|
@if(count($proses) > 0)
|
||||||
|
<script>
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Tunggu Pengesahan Daripada Operasi.',
|
||||||
|
text: 'Menunggu Pengesahan Daripada Operasi!',
|
||||||
|
icon: 'info',
|
||||||
|
width: 600,
|
||||||
|
padding: '3em',
|
||||||
|
background: '#fffff',
|
||||||
|
showCancelButton: false,
|
||||||
|
showConfirmButton: false,
|
||||||
|
allowOutsideClick: false,
|
||||||
|
allowEscapeKey: false,
|
||||||
|
allowEnterKey: false
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
@@ -51,7 +69,7 @@
|
|||||||
<td>{{ $gldetail['descpt'] }}</td>
|
<td>{{ $gldetail['descpt'] }}</td>
|
||||||
<td>{{ ($gldetail['pendahuluan'] == 0 && ($gldetail['ktacct'] == '7000/102' || $gldetail['ktacct'] == '7000/106')) ? number_format($gldetail['amaun'],2) : number_format($gldetail['pendahuluan'],2) }}</td>
|
<td>{{ ($gldetail['pendahuluan'] == 0 && ($gldetail['ktacct'] == '7000/102' || $gldetail['ktacct'] == '7000/106')) ? number_format($gldetail['amaun'],2) : number_format($gldetail['pendahuluan'],2) }}</td>
|
||||||
<td>{{ ($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) }}</td>
|
<td>{{ ($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) }}</td>
|
||||||
@if($date === $gldetail['tarikh'] && !fnmatch('SERAHAN BAYAR ONLINE*',$gldetail['descpt'])) <td class="text-center"><button onclick="deletependser(this);" data-pend="{{ $gldetail['pendahuluan'] }}" data-ser="{{ $gldetail['serahan'] }}" data-recno="{{ $gldetail['recno'] }}" class="btn btn-danger fas fa-minus-square"></button></td>@else<td></td> @endif
|
@if($date === $gldetail['tarikh'] && !fnmatch('SERAHAN BAYAR ONLINE*',$gldetail['descpt'])) <td class="text-center"><button onclick="{{ strpos($gldetail['teller'], 'AUTO') !== false ? 'deleteautoserahan(this);' : 'deletependser(this);' }}" data-pend="{{ $gldetail['pendahuluan'] }}" data-ser="{{ $gldetail['serahan'] }}" data-recno="{{ $gldetail['recno'] }}" class="btn btn-danger fas fa-minus-square"></button></td>@else<td></td> @endif
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -61,6 +79,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<button class="btn btn-primary mt-4" data-toggle="modal" data-target="#pendahuluanserahanModal">Daftar</button>
|
<button class="btn btn-primary mt-4" data-toggle="modal" data-target="#pendahuluanserahanModal">Daftar</button>
|
||||||
|
<x-auto-serah />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -205,25 +224,47 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
$('#pendahuluanserahanModal').on('shown.bs.modal', function (e) {
|
$('#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);
|
||||||
|
$('input[name="radwang"][value="serahan"]').prop('disabled', true);
|
||||||
|
$('#keterangan').val('Serahan Kepada V3');
|
||||||
|
$('#keterangan').attr('readonly', true);
|
||||||
|
$('#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('');
|
||||||
|
$('#keterangan').attr('readonly', false);
|
||||||
|
$('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);
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -314,7 +355,7 @@
|
|||||||
function funcbatal()
|
function funcbatal()
|
||||||
{
|
{
|
||||||
$('#denominasiHQModal').modal('hide');
|
$('#denominasiHQModal').modal('hide');
|
||||||
$('#pendahuluanserahanModal').modal('show');
|
// $('#pendahuluanserahanModal').modal('show');
|
||||||
|
|
||||||
$("#terima_transaksi").prop('disabled', false);
|
$("#terima_transaksi").prop('disabled', false);
|
||||||
|
|
||||||
@@ -343,6 +384,7 @@
|
|||||||
let dtacct = $('#dtacct').val();
|
let dtacct = $('#dtacct').val();
|
||||||
let ktacct = $('#ktacct').val();
|
let ktacct = $('#ktacct').val();
|
||||||
let auth_user = $('#auth_user').val(); //letak user
|
let auth_user = $('#auth_user').val(); //letak user
|
||||||
|
let jenisserahan = $('#jenisserahan').val();
|
||||||
|
|
||||||
// Denominasi bundle
|
// Denominasi bundle
|
||||||
let bundle1 = $('#bundle1').val();
|
let bundle1 = $('#bundle1').val();
|
||||||
@@ -372,72 +414,316 @@
|
|||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
let SwalPengesahan = '';
|
||||||
|
|
||||||
Swal.fire({
|
if(jenisserahan == 'biasa')
|
||||||
title: 'Memuatkan...',
|
{
|
||||||
allowEscapeKey: false,
|
Swal.fire({
|
||||||
allowOutsideClick: false,
|
title: 'Memuatkan...',
|
||||||
didOpen: function () {
|
allowEscapeKey: false,
|
||||||
Swal.showLoading();
|
allowOutsideClick: false,
|
||||||
$('#denominasiHQModal').modal('hide');
|
didOpen: function () {
|
||||||
}
|
Swal.showLoading();
|
||||||
});
|
$('#denominasiHQModal').modal('hide');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
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,
|
||||||
|
didOpen: function () {
|
||||||
|
$('#denominasiHQModal').modal('hide');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
$.ajax({
|
let array_send = {
|
||||||
method: 'post',
|
amaun: amaun,
|
||||||
url: '{{ route("khazanah.pendahuluanserahanHQ") }}',
|
jenisgldetail: jenis,
|
||||||
data: {
|
keterangan: keterangan,
|
||||||
"_token": "{{ csrf_token() }}",
|
kodcaw: kodcaw,
|
||||||
'amaun': amaun,
|
teller: teller,
|
||||||
'jenisgldetail': jenis,
|
dtacct: dtacct,
|
||||||
'keterangan': keterangan,
|
ktacct: ktacct,
|
||||||
'kodcaw': kodcaw,
|
auth_user: auth_user,
|
||||||
'teller': teller,
|
ambilansen1: sen1,
|
||||||
'dtacct': dtacct,
|
ambilansen5: sen5,
|
||||||
'ktacct': ktacct,
|
ambilansen10: sen10,
|
||||||
'auth_user': auth_user, // mskkan auth_user
|
ambilansen20: sen20,
|
||||||
'ambilansen1': sen1,
|
ambilansen50: sen50,
|
||||||
'ambilansen5': sen5,
|
ambilanring1: ringgit1,
|
||||||
'ambilansen10': sen10,
|
ambilanring5: ringgit5,
|
||||||
'ambilansen20': sen20,
|
ambilanring10: ringgit10,
|
||||||
'ambilansen50': sen50,
|
ambilanring20: ringgit20,
|
||||||
'ambilanring1': ringgit1,
|
ambilanring50: ringgit50,
|
||||||
'ambilanring5': ringgit5,
|
ambilanring100: ringgit100
|
||||||
'ambilanring10': ringgit10,
|
};
|
||||||
'ambilanring20': ringgit20,
|
this.sendRequest(array_send,jenisserahan);
|
||||||
'ambilanring50': ringgit50,
|
}
|
||||||
'ambilanring100': ringgit100
|
|
||||||
},
|
function sendRequest(arraysend,jenisserahan){
|
||||||
success: function (data) {
|
if(jenisserahan == 'biasa'){
|
||||||
if (data == 'LULUS') {
|
console.log(arraysend);
|
||||||
|
$.ajax({
|
||||||
|
method: 'post',
|
||||||
|
url: '{{ route("khazanah.pendahuluanserahanHQ") }}',
|
||||||
|
data: {
|
||||||
|
"_token": "{{ csrf_token() }}",
|
||||||
|
'amaun': arraysend['amaun'],
|
||||||
|
'jenisgldetail': arraysend['jenisgldetail'],
|
||||||
|
'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);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
let approvalid = '';
|
||||||
|
$.ajax({
|
||||||
|
method: 'post',
|
||||||
|
url: '{{ route("khazanah.autoserahan") }}',
|
||||||
|
data: {
|
||||||
|
"_token": "{{ csrf_token() }}",
|
||||||
|
'arraysend': arraysend
|
||||||
|
},
|
||||||
|
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,approvalid,kodcaw,teller);
|
||||||
|
if(data.pengesahan === 'Lulus' && data.id == approvalid && data.kodlaluan == teller)
|
||||||
|
{
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
icon: 'success',
|
icon: 'success',
|
||||||
title: 'Transaksi Berjaya',
|
title: 'Serahan V3/Auto Pendahuluan V2 Berjaya',
|
||||||
allowEscapeKey: false,
|
text: 'Operasi berjaya meluluskan Serahan ke V3 dan Auto Pendahuluan dari V2!'
|
||||||
allowOutsideClick: false
|
}).then(function(){
|
||||||
}).then(function () {
|
|
||||||
$('#denominasiHQModal').modal('hide');
|
|
||||||
$('#pendahuluanserahanModal').modal('hide');
|
|
||||||
location.reload();
|
location.reload();
|
||||||
});
|
});
|
||||||
} else if (data == 'GAGAL') {
|
}else if(data.pengesahan == 'Batal' && data.id == approvalid && data.kodlaluan == teller){
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
icon: 'error',
|
icon: 'error',
|
||||||
title: 'Transaksi Gagal',
|
title: 'Serahan V3/Auto Pendahuluan V2 Dibatalkan',
|
||||||
allowEscapeKey: false,
|
text: 'Operasi membatalkan Serahan ke V3 dan Auto Pendahuluan dari V2!'
|
||||||
allowOutsideClick: false
|
}).then(function(){
|
||||||
}).then(function () {
|
location.reload();
|
||||||
$('#denominasiHQModal').modal('hide');
|
|
||||||
$('#pendahuluanserahanModal').modal('hide');
|
|
||||||
$("#terima_transaksi").prop('disabled', false);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
|
||||||
error: function (jqXHR, textStatus, errorThrown) {
|
});
|
||||||
console.log(textStatus, errorThrown);
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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,approvalid,teller,kodcaw);
|
||||||
|
if(data.pengesahan === 'Lulus' && data.id == approvalid && data.kodlaluan == teller)
|
||||||
|
{
|
||||||
|
Swal.fire({
|
||||||
|
icon: 'success',
|
||||||
|
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: 'Serahan V3/Auto Pendahuluan V2 Dibatalkan',
|
||||||
|
text: 'Operasi membatalkan Serahan ke V3 dan Auto Pendahuluan dari V2!'
|
||||||
|
}).then(function(){
|
||||||
|
location.reload();
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
Swal.fire({
|
||||||
|
icon: 'error',
|
||||||
|
title: 'Auto Serahan Mengalami Ralat',
|
||||||
|
text: 'Auto Serahan tidak berjaya!'
|
||||||
|
}).then(function(){
|
||||||
|
location.reload();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
<!-- Modal Wakil -->
|
||||||
|
<div class="modal fade" id="autoSerahanModal" tabindex="-1" role="dialog" aria-labelledby="autoSerahanModalCenterTitle" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="autoSerahanModalTitle">Daftar Serahan V3</h5>
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<form name="autoserah" onsubmit="return false;">
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="text-center mx-auto mt-4">
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-2 mt-2">Tarikh</label>
|
||||||
|
<input type="text" class="form-control col-4 mt-2" name="tarikh" readonly/>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-2 mt-2">Debit Akaun</label>
|
||||||
|
<input type="text" class="form-control col-4 mt-2" value="1000/010" name="dtacct" readonly/>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-2 mt-2">Kredit Akaun</label>
|
||||||
|
<input type="text" class="form-control col-4 mt-2" value="1000/020" name="ktacct" readonly/>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-2 mt-2">Keterangan</label>
|
||||||
|
<input type="text" class="form-control col-8 mt-2" value="Serahan Kepada V3" name="keterangan" readonly/>
|
||||||
|
<span name="errorketerangan" style="color:red;margin-left:130px;" class="col-12 text-left"></span>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-2 mt-2">Amaun (RM)</label>
|
||||||
|
<input type="text" class="form-control col-4 mt-2" name="amaun" onkeypress="return validateformat(event)"/>
|
||||||
|
<span name="erroramaun" style="color:red;margin-left:130px;" class="col-12 text-left"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<input type="hidden" id="auth_user" name="auth_user" value="{{ Auth::user()->id }}">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-danger btn-lg" data-dismiss="modal">Batal</button>
|
||||||
|
<button type="button" id="terima_transaksi_autoserah" onclick="terima_autoserah()" class="btn btn-success btn-lg">Terima</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -132,6 +132,7 @@
|
|||||||
<input type="hidden" id="jenisjenis"/>
|
<input type="hidden" id="jenisjenis"/>
|
||||||
<input type="hidden" id="kodcawangan"/>
|
<input type="hidden" id="kodcawangan"/>
|
||||||
<input type="hidden" id="tellerla"/>
|
<input type="hidden" id="tellerla"/>
|
||||||
|
<input type="hidden" id="jenisserahan"/>
|
||||||
<input type="hidden" id="auth_user" name="auth_user" value="{{ Auth::user()->id }}">
|
<input type="hidden" id="auth_user" name="auth_user" value="{{ Auth::user()->id }}">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -172,8 +172,10 @@
|
|||||||
@php
|
@php
|
||||||
$reportNames = [
|
$reportNames = [
|
||||||
'serahan' => 'LAPORAN SERAHAN HQ',
|
'serahan' => 'LAPORAN SERAHAN HQ',
|
||||||
|
'serahankepadav3' => 'LAPORAN SERAHAN KEPADA V3',
|
||||||
'pendahuluan' => 'LAPORAN PENDAHULUAN HQ',
|
'pendahuluan' => 'LAPORAN PENDAHULUAN HQ',
|
||||||
'online' => 'LAPORAN SERAHAN ONLINE HQ',
|
'online' => 'LAPORAN SERAHAN ONLINE HQ',
|
||||||
|
'serahankepadav3' => 'LAPORAN SERAHAN KEPADA V3',
|
||||||
'serahanlelong' => 'LAPORAN SERAHAN LELONG HQ',
|
'serahanlelong' => 'LAPORAN SERAHAN LELONG HQ',
|
||||||
'serahanonline' => 'LAPORAN SERAHAN DAN SERAHAN ONLINE HQ',
|
'serahanonline' => 'LAPORAN SERAHAN DAN SERAHAN ONLINE HQ',
|
||||||
'all' => 'LAPORAN KESELURUHAN HQ'
|
'all' => 'LAPORAN KESELURUHAN HQ'
|
||||||
|
|||||||
@@ -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::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/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('/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::post('/kakitangan/harian',['as'=>'kakitangan.harian','uses'=>'KakitanganController@kakitanganHarian'])->middleware('auth','khazanah');
|
||||||
Route::get('/lelong',['as'=>'lelong','uses'=>'LelongController@lelong']);
|
Route::get('/lelong',['as'=>'lelong','uses'=>'LelongController@lelong']);
|
||||||
|
|||||||
Reference in New Issue
Block a user