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\NotifikasiAGH;
|
||||
use App\Events\NotifikasiPetiBesi;
|
||||
use App\Events\AutoSerahan;
|
||||
|
||||
use App\User;
|
||||
use App\Cawangan;
|
||||
@@ -215,7 +216,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'));
|
||||
}
|
||||
|
||||
|
||||
@@ -4286,4 +4291,105 @@ class KhazanahController extends Controller
|
||||
$val = preg_replace('/\.(?=.*\.)/', '', $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
|
||||
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,14 +102,14 @@
|
||||
<select name="radpendser" id="radpendser" class="form-control">
|
||||
<option value="pendahuluan" selected>Pendahuluan</option>
|
||||
<option value="serahan">Serahan</option>
|
||||
<option value="serahankepadav3">Serahan Kepada V3</option>
|
||||
<option value="online">Serahan Online</option>
|
||||
<option value="serahanlelong">Serahan Lelong</option>
|
||||
<option value="serahanonline">Serahan Keseluruhan</option>
|
||||
<option value="all">Keseluruhan</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br><br>
|
||||
|
||||
@@ -3,8 +3,26 @@
|
||||
@section('content')
|
||||
|
||||
@include('modal.pendahuluanserahan')
|
||||
@include('modal.autoserahan')
|
||||
@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="row justify-content-center">
|
||||
@@ -51,7 +69,7 @@
|
||||
<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['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>
|
||||
@endforeach
|
||||
</tbody>
|
||||
@@ -61,6 +79,7 @@
|
||||
|
||||
|
||||
<button class="btn btn-primary mt-4" data-toggle="modal" data-target="#pendahuluanserahanModal">Daftar</button>
|
||||
<x-auto-serah />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -205,25 +224,47 @@
|
||||
}
|
||||
|
||||
$('#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()
|
||||
{
|
||||
$('#denominasiHQModal').modal('hide');
|
||||
$('#pendahuluanserahanModal').modal('show');
|
||||
// $('#pendahuluanserahanModal').modal('show');
|
||||
|
||||
$("#terima_transaksi").prop('disabled', false);
|
||||
|
||||
@@ -343,6 +384,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();
|
||||
@@ -372,72 +414,316 @@
|
||||
});
|
||||
return false;
|
||||
}
|
||||
let SwalPengesahan = '';
|
||||
|
||||
Swal.fire({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey: false,
|
||||
allowOutsideClick: false,
|
||||
didOpen: function () {
|
||||
Swal.showLoading();
|
||||
$('#denominasiHQModal').modal('hide');
|
||||
}
|
||||
});
|
||||
if(jenisserahan == 'biasa')
|
||||
{
|
||||
Swal.fire({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey: false,
|
||||
allowOutsideClick: false,
|
||||
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({
|
||||
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') {
|
||||
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'){
|
||||
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({
|
||||
icon: 'success',
|
||||
title: 'Transaksi Berjaya',
|
||||
allowEscapeKey: false,
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
$('#denominasiHQModal').modal('hide');
|
||||
$('#pendahuluanserahanModal').modal('hide');
|
||||
location.reload();
|
||||
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 == 'GAGAL') {
|
||||
}else if(data.pengesahan == 'Batal' && data.id == approvalid && data.kodlaluan == teller){
|
||||
Swal.fire({
|
||||
icon: 'error',
|
||||
title: 'Transaksi Gagal',
|
||||
allowEscapeKey: false,
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
$('#denominasiHQModal').modal('hide');
|
||||
$('#pendahuluanserahanModal').modal('hide');
|
||||
$("#terima_transaksi").prop('disabled', false);
|
||||
title: 'Serahan V3/Auto Pendahuluan V2 Dibatalkan',
|
||||
text: 'Operasi membatalkan Serahan ke V3 dan Auto Pendahuluan dari V2!'
|
||||
}).then(function(){
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
},
|
||||
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>
|
||||
@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="kodcawangan"/>
|
||||
<input type="hidden" id="tellerla"/>
|
||||
<input type="hidden" id="jenisserahan"/>
|
||||
<input type="hidden" id="auth_user" name="auth_user" value="{{ Auth::user()->id }}">
|
||||
|
||||
</div>
|
||||
|
||||
@@ -172,8 +172,10 @@
|
||||
@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',
|
||||
'serahanlelong' => 'LAPORAN SERAHAN LELONG HQ',
|
||||
'serahanonline' => 'LAPORAN SERAHAN DAN SERAHAN ONLINE 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::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']);
|
||||
|
||||
Reference in New Issue
Block a user