add duit pelanggan dan auto tawarruq

This commit is contained in:
Hafifie PKB
2023-12-02 23:56:03 +08:00
parent c3d9fbe526
commit d2569abad5
4 changed files with 203 additions and 159 deletions
+8 -2
View File
@@ -64,7 +64,9 @@ class PenebusanController extends Controller
"nowakil" => $request->nowakil,
"jenisbayarantebus" => $request->jenisbayarantebus,
"teller" => $request->teller,
'jeniskeuntungan' => $request->jeniskeuntungan
'jeniskeuntungan' => $request->jeniskeuntungan,
"duitpelanggan" => $request->duitpelanggan,
"bakipelanggan" => $request->bakipelanggan
])->json();
if($updatetebus)
@@ -84,7 +86,9 @@ class PenebusanController extends Controller
$updategadai = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url').'/api/gadaikaunter/'. $request->kodcaw .'/norujukan/' . $request->norujukan,[
'bayaran' => $request->bayaran,
'teller' => $request->teller,
'nowakil' => $request->nowakil
'nowakil' => $request->nowakil,
'duitpelanggan' => $request->duitpelanggan,
'bakipelanggan' => $request->bakipelanggan
])->json();
if($updategadai == 'success')
@@ -427,6 +431,8 @@ class PenebusanController extends Controller
'teller' => $request->teller,
'jeniskeuntungan' => 'asal',
'totalbayaran' => $request->totalbayaran,
"bayaranpelanggan" => $request->bayaran,
"bakipelanggan" => $request->bakipelanggan,
])->json();
+4 -4
View File
@@ -144,12 +144,12 @@
<div class="card-body">
<nav class="mb-3">
<div class="nav nav-tabs" id="nav-tab" role="tablist">
<a class="nav-item nav-link active" id="nav-tawarruq-tab" data-toggle="tab" href="#nav-tawarruq" role="tab" aria-controls="nav-tawarruq" aria-selected="true">SAG Baru</a>
<a class="nav-item nav-link" id="nav-xtawarruq-tab" data-toggle="tab" href="#nav-xtawarruq" role="tab" aria-controls="nav-xtawarruq" aria-selected="false"><span id="textnavsag">SAG Lama</span></a>
<a class="nav-item nav-link" id="nav-tawarruq-tab" data-toggle="tab" href="#nav-tawarruq" role="tab" aria-controls="nav-tawarruq" aria-selected="false">SAG Baru</a>
<a class="nav-item nav-link active" id="nav-xtawarruq-tab" data-toggle="tab" href="#nav-xtawarruq" role="tab" aria-controls="nav-xtawarruq" aria-selected="true"><span id="textnavsag">SAG Lama</span></a>
</div>
</nav>
<div class="tab-content" id="navtawarruqdannottawarruq">
<div class="tab-pane fade show active" id="nav-tawarruq" role="tabpanel" aria-labelledby="nav-tawarruq-tab">
<div class="tab-pane fade" id="nav-tawarruq" role="tabpanel" aria-labelledby="nav-tawarruq-tab">
<table class="table table-striped table-hover" id="myTable">
<thead class="thead-dark">
<tr>
@@ -167,7 +167,7 @@
</thead>
</table>
</div>
<div class="tab-pane fade" id="nav-xtawarruq" role="tabpanel" aria-labelledby="nav-xtawarruq-tab">
<div class="tab-pane fade show active" id="nav-xtawarruq" role="tabpanel" aria-labelledby="nav-xtawarruq-tab">
<table id="xtawarruq" class="table table-striped table-hover">
<thead class="thead-dark">
{{-- <tr>
+3 -3
View File
@@ -373,10 +373,10 @@
@yield('content')
</main>
</div>
@if (request()->route()->getName() === 'penebusan')
{{-- @if (request()->route()->getName() === 'penebusan')
@include('widgets.calculator')
@endif
@endif --}}
@yield('footer')
</body>
+188 -150
View File
@@ -73,7 +73,7 @@
<option value="P">P = Tambah Pembiayaan</option>
@else
{{-- @if($gadai['tagbaru'] == 0) --}}
<option value="AT">AT = Auto Tawarruq</option>
<option value="AT">PS = Pembiayaan Semula</option>
@endif
</select>
</div>
@@ -250,7 +250,7 @@
<b>PERLU DIBAYAR(RM)</b>
</div>
<div class="col-8">
<input type="text" id="perludibayarAT" class="form-control" onkeyup="bayaranATfunc(this)" onkeypress="return validateFloatKeyPress(this,event);" onchange="blockbayaranAT(this)" readonly/>
<input type="text" id="perludibayarAT" style="font-weight:bold;" class="form-control" onselectstart="return false;" onkeyup="bayaranATfunc(this)" onkeypress="return validateFloatKeyPress(this,event);" onchange="blockbayaranAT(this)" readonly/>
</div>
</div>
<div class="form-group row" id="divbayaran">
@@ -261,12 +261,12 @@
<input type="text" id="bayaran" onkeyup="bayartambahan(this)" placeholder="0.00" class="form-control" disabled/>
</div>
</div>
<div class="form-group row" id="divbayaranAT">
<div class="form-group row" id="divduitPelanggan">
<div class="col-4">
<span>DUIT PELANGGAN(RM)</span>
</div>
<div class="col-8">
<input type="text" id="bayaranAT" onkeyup="bayartambahan(this)" placeholder="0.00" class="form-control" disabled/>
<input type="text" id="duitPelanggan" onkeyup="bayaranPelanggan(this)" placeholder="0.00" class="form-control"/>
</div>
</div>
<div class="form-group row" id="divtambahpinjaman">
@@ -288,12 +288,12 @@
<input type="text" id="perludibayartawarruq" class="form-control" readonly/>
</div>
</div>
<div class="form-group row" id="divbaki">
<div class="form-group row" id="divbakiPelanggan">
<div class="col-4">
<b>BAKI (RM)</b>
</div>
<div class="col-8">
<input type="text" id="baki" class="form-control" value="0.00" readonly/>
<input type="text" id="bakiPelanggan" class="form-control" value="0.00" readonly/>
</div>
</div>
<div class="form-group row" id="divbayaranminima">
@@ -383,10 +383,6 @@
<div class="col-6 mx-auto" id="divjenisAT">
<span class="text-warning h2">Harga Lama</span>
</div>
<div class="col-6" id="divbayaranditerima">
<div class="form-group row">
<div class="col-4">
@@ -400,9 +396,12 @@
<div class="col-12 d-flex justify-content-between">
<div class="col-6" id="divjenisAT">
<button type="button" class="btn btn-danger" onclick="funcexcuse(false)">Batal</button>
</div>
@if($percent_hargaemassemasa > 80)
<div class="col-6 divlebihanmargin">
<button type="button" class="btn btn-primary" onclick="funcexcuse()">EXCUSE</button>
<button type="button" class="btn btn-primary" onclick="funcexcuse(true)">EXCUSE</button>
</div>
<div class="col-1" id="divdummy">
</div>
@@ -454,12 +453,12 @@
$('#divperludibayartawarruq').hide();
$('#divbayarantawarruq').hide();
$('#divbayaran').hide();
$('#divbayaranAT').hide();
// $('#divbayaranAT').hide();
$("#divbayaranminima").hide();
$('.divlebihanmargin').hide();
$('#divjenisAT').hide();
$('#divperludibayarAT').hide();
$('#divbaki').hide();
// $('#divbaki').hide();
var array_recno = [];
@@ -838,8 +837,8 @@
$('.divlebihanmargin').hide();
$('#divjenisAT').hide();
$('#divperludibayarAT').hide();
$('#divbaki').hide();
$('#divbayaranAT').hide();
// $('#divbaki').hide();
// $('#divbayaranAT').hide();
$('#calcbayar').val($('#perludibayar').val().replace(/[^0-9.-]+/g,""));
@@ -979,12 +978,12 @@
$('#divbayaranditerima').hide();
$('#divhargaemassemasa').show();
$('#divbayarantawarruq').show();
$("#bayaranAT").prop("disabled", true);
// $("#bayaranAT").prop("disabled", true);
$("#bayarantawarruq").prop("readonly", false);
// $("#bayaran").val(0);
$('#divperludibayarAT').show();
$('.divlebihanmargin').show();
$('#divbaki').show();
// $('#divbaki').show();
// if(percenthargasemasa > 80){
$("#perludibayarAT").prop("readonly", false);
@@ -993,8 +992,8 @@
$('#divbakipinjaman').hide();
$('#divtelahdibayar').hide();
$('#divbayaranAT').show();
$("#bayaranAT").prop("disabled", false);
// $('#divbayaranAT').show();
// $("#bayaranAT").prop("disabled", false);
$('#divperludibayar').hide();
@@ -1105,18 +1104,26 @@
}
}
}else if($('#sltjenistebus').find(":selected").val() == 'AT'){
let total = 0;
let bayaran = $('#bayaranAT').val();
let perludibayar = $('#perludibayarAT').val();
total = bayaran - perludibayar;
$('#baki').val((total > 0) ? formatter.format(total.toFixed(2)) : '0.00');
}
}
function bayaranPelanggan(e){
let total = 0;
let bayaran = $('#duitPelanggan').val();
let perludibayar = 0;
if ($('#sltjenistebus').find(":selected").val() == 'T'){
perludibayar = parseFloat($('#perludibayar').val().replace(/[^0-9.-]+/g,""));
}else if($('#sltjenistebus').find(":selected").val() == 'A'){
perludibayar = parseFloat($('#bayaran').val().replace(/[^0-9.-]+/g,""));
}else if($('#sltjenistebus').find(":selected").val() == 'AT'){
perludibayar = parseFloat($('#perludibayarAT').val().replace(/[^0-9.-]+/g,""));
}
total = bayaran - perludibayar;
$('#bakiPelanggan').val((total > 0) ? formatter.format(total.toFixed(2)) : '0.00');
}
function bayarpinjam(e){
@@ -1239,6 +1246,8 @@
var historygadaian = 0;
var marhun = "{{ $gadai['marhun'] }}";
var nowakil = nw;
var duitpelanggan = $('#duitPelanggan').val().replace(/[^0-9.-]+/g,"");
var bakipelanggan = $('#bakiPelanggan').val().replace(/[^0-9.-]+/g,"");
$.ajax({
method:'get',
@@ -1262,7 +1271,9 @@
"nowakil" : nowakil,
"jenisbayarantebus" : jenisbayarantebus,
"jeniskeuntungan" : jeniskeuntungan,
"teller" : teller
"teller" : teller,
"duitpelanggan" : duitpelanggan,
"bakipelanggan" : bakipelanggan
},
success:function(success_data){
@@ -1353,6 +1364,9 @@
var bayar = Number(parseFloat($('#bayaran').val().replace(/[^0-9.-]+/g,"")).toFixed(2));
var bakipinjam = parseFloat("{{ $gadai['bakipjm'] }}") - hadbayaransuran + jumupah;
var duitpelanggan = parseFloat($('#duitPelanggan').val().replace(/[^0-9.-]+/g,""));
var bakipelanggan = parseFloat($('#bakiPelanggan').val().replace(/[^0-9.-]+/g,""));
if(bayar < jumupah){
$("#terima_transaksi").prop('disabled', false);
@@ -1382,7 +1396,9 @@
"kodcaw" : kodcaw,
"norujukan" : norujukan,
"teller" : teller,
"nowakil" : nw
"nowakil" : nw,
"duitpelanggan" : duitpelanggan,
"bakipelanggan" : bakipelanggan
},
success:function(success_data){
@@ -2482,7 +2498,8 @@
var kuantiti_marhun = Number("{{sizeof($marhun)}}");
var nowakil = nw;
var perludibayar = parseFloat($('#perludibayarAT').val().replace(/[^0-9.-]+/g,""));
var bayaranpelanggan = parseFloat($('#bayaranAT').val());
var bayaranpelanggan = parseFloat($('#duitPelanggan').val());
var bakipelanggan = parseFloat($('#bakiPelanggan').val());
var kadarupahbaru = 0;
// if(nilai_marhun > 0 && nilai_marhun < 400.99){
@@ -2510,6 +2527,7 @@
// var keuntungan_sebulan = pinjamanbaru * kadarupahbaru;
// var keuntungan_6bln = keuntungan_sebulan * 6;
// console.log('pelangagan:', bayaranpelanggan,bakipelanggan);
// console.log(nilaibaru,noic,pinjamanbaru,kadarupahbaru,total_berat,marhun,kuantiti_marhun,perludibayar,jenisAT);
// return;
$.ajax({
@@ -2548,6 +2566,7 @@
"jenisAT" : jenisAT,
"totalbayaran" : perludibayar,
"bayaran" : bayaranpelanggan,
"bakipelanggan" : bakipelanggan,
},
success:function(success_data){
@@ -3161,129 +3180,144 @@ function pembatalanbalik()
});
}
function funcexcuse(){
var jumupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
let percentasal = parseFloat('{{ number_format($percent_asal,2) }}');
jenisAT = 'hargalama';
$('#basic-addon2').text(percentasal);
$('.divlebihanmargin').hide();
$('#divjenisAT').show();
$('#perludibayarAT').val(formatter.format(jumupah));
$('#divbayaranAT').hide();
$('#calcbayar').val(jumupah);
$("#perludibayarAT").prop("readonly", true);
$('#divbaki').hide();
// gadaiautotawarruq(jenisAT);
function funcexcuse(toggle){
return;
const swalWithBootstrapButtons = Swal.mixin({
if(toggle){
var jumupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
let percentasal = parseFloat('{{ number_format($percent_asal,2) }}');
jenisAT = 'hargalama';
$('#basic-addon2').text(percentasal);
$('.divlebihanmargin').hide();
$('#divjenisAT').show();
$('#perludibayarAT').val(formatter.format(jumupah));
// $('#divbayaranAT').hide();
$('#calcbayar').val(jumupah);
$("#perludibayarAT").prop("readonly", true);
// $('#divbaki').hide();
// gadaiautotawarruq(jenisAT);
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
});
var errortext = "[Auto Tawarruq] Menggunakan Harga Lama & Margin Lama";
var errortext = "[Auto Tawarruq] Menggunakan Harga Lama & Margin Lama";
swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan Operasi',
text: errortext,
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan Operasi',
text: errortext,
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
let norujukan = '{{ $gadai["norujukan"] }}';
let nm = parseFloat($('#nilai_marhun_total').text().replace(/[^0-9.-]+/g,""));
let ber = parseFloat($('#berat_marhun_total').text());
let marg = parseFloat($('#basic-addon2').text());
let status = errortext;
let jumpinjam = parseFloat($('#pinjamanbaru').val().replace(/[^0-9.-]+/g,""));
let teller = "{{ Auth::user()->name }}";
Swal.fire({
title: 'Tunggu Pengesahan Daripada Khazanah-Operasi.',
icon: 'info',
width: 600,
padding: '3em',
background: '#fffff',
showCancelButton: false,
showConfirmButton: false,
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false
})
let siricreated = 0;
$.ajax({
method:'post',
url: "{{ route('operasi.createkelulusan') }}",
data: {
"_token": "{{ csrf_token() }}",
"norujukan" : norujukan,
"komen" : '',
"margin" : marg,
"berat" : ber,
"nilaimarhun" : nm,
"status" : status,
"jumpinjam" : jumpinjam,
"teller" : teller
},
success:function(data){
siricreated = data;
},
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
cluster: 'ap1',
encrypted: true
});
var channel = pusher.subscribe('notice-kelulusan');
channel.bind('my-kelulusan', function(data) {
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
{
if(data.kelulusan == 'lulus')
{
Swal.fire({
icon: 'success',
title: 'Telah Disahkan',
text: `Komen : ${data.komen}`
}).then(function(){
$(func).attr("onSubmit","return true;");
$(func).submit();
return true;
});
let norujukan = '{{ $gadai["norujukan"] }}';
let nm = parseFloat($('#nilai_marhun_total').text().replace(/[^0-9.-]+/g,""));
let ber = parseFloat($('#berat_marhun_total').text());
let marg = parseFloat($('#basic-addon2').text());
let status = errortext;
let jumpinjam = parseFloat($('#pinjamanbaru').val().replace(/[^0-9.-]+/g,""));
let teller = "{{ Auth::user()->name }}";
Swal.fire({
title: 'Tunggu Pengesahan Daripada Khazanah-Operasi.',
icon: 'info',
width: 600,
padding: '3em',
background: '#fffff',
showCancelButton: false,
showConfirmButton: false,
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false
})
let siricreated = 0;
$.ajax({
method:'post',
url: "{{ route('operasi.createkelulusan') }}",
data: {
"_token": "{{ csrf_token() }}",
"norujukan" : norujukan,
"komen" : '',
"margin" : marg,
"berat" : ber,
"nilaimarhun" : nm,
"status" : status,
"jumpinjam" : jumpinjam,
"teller" : teller
},
success:function(data){
siricreated = data;
},
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
else if(data.kelulusan == 'batal')
});
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
cluster: 'ap1',
encrypted: true
});
var channel = pusher.subscribe('notice-kelulusan');
channel.bind('my-kelulusan', function(data) {
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
{
Swal.fire({
icon: 'warning',
title: 'Telah Dibatalkan',
text: `Komen : ${data.komen}`
}).then(function(){
$("#terima_gadai").prop('disabled', false);
return false;
});
if(data.kelulusan == 'lulus')
{
Swal.fire({
icon: 'success',
title: 'Telah Disahkan',
text: `Komen : ${data.komen}`
}).then(function(){
$(func).attr("onSubmit","return true;");
$(func).submit();
return true;
});
}
else if(data.kelulusan == 'batal')
{
Swal.fire({
icon: 'warning',
title: 'Telah Dibatalkan',
text: `Komen : ${data.komen}`
}).then(function(){
$("#terima_gadai").prop('disabled', false);
return false;
});
}
}
}
});
});
}
});
}
});
}else{
let percenthargasemasa = parseFloat('{{ number_format($percent_hargaemassemasa,2) }}');
var jumupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
let jumlebmargin = parseFloat('{{ ($percent_hargaemassemasa > 80) ? $bayaranlebihan : 0 }}');
let totalbayaran = (percenthargasemasa > 80) ? (jumlebmargin + jumupah) : jumupah;
$('#basic-addon2').text((percenthargasemasa > 80) ? '80.00' : percenthargasemasa);
jenisAT = 'none';
$('.divlebihanmargin').show();
$('#divjenisAT').hide();
$('#perludibayarAT').val(formatter.format(totalbayaran));
$('#calcbayar').val(totalbayaran);
$("#perludibayarAT").prop("readonly", false);
}
return false;
}
@@ -3296,16 +3330,12 @@ function validateFloatKeyPress(el, evt) {
var number = el.value;
let pembiayaanbaru = 0;
let keypress = evt.key;
let tot;
// let tot;
// if(!isNaN(evt.key))
// {
// console.log(number,keypress);
// tot = +number + +keypress;
// }
// console.log(tot);
pembiayaanbaru = pembiayaan - parseFloat(number);
if(!isNaN(keypress)){
tot = number.toString() + keypress.toString();
}
var number = el.value.split('.');
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
@@ -3315,6 +3345,10 @@ function validateFloatKeyPress(el, evt) {
if(number.length>1 && charCode == 46){
return false;
}
//total pembiayaan baru
pembiayaanbaru = pembiayaan - parseFloat(tot);
//get the carat position
var caratPos = getSelectionStart(el);
var dotPos = el.value.indexOf(".");
@@ -3323,10 +3357,8 @@ function validateFloatKeyPress(el, evt) {
}
if(pembiayaanbaru <= tenpercent){
// console.log('ggwp');
return false;
}
// console.log(pembiayaanbaru,tenpercent,parseFloat(keypress),pembiayaan);
return true;
}
@@ -3355,16 +3387,18 @@ function bayaranATfunc(e){
let percenthargasemasa = parseFloat("{{ $percent_hargaemassemasa }}");
//algorithm untuk bayaran pelanggan dan baki
let baki = parseFloat($('#baki').val());
let bayaranpelanggan = parseFloat($('#bayaranAT').val());
let baki = parseFloat($('#bakiPelanggan').val());
let bayaranpelanggan = parseFloat($('#duitPelanggan').val());
let totalpercent = 0;
if(byr == ''){
// $('#perludibayarAT').val(total);
$('#pinjamanbaru').val(formatter.format(pembiayaan));
totalpercent = (pembiayaan / hargamarhun) * 100;
$('#basic-addon2').text(formatter.format(totalpercent.toFixed(2)));
//baki pelanggan
// $('#bakiPelanggan').val((0.00) );
}else{
// pdbyr = parseFloat(byr) + parseFloat(total);
// $('#perludibayarAT').val(pdbyr);
@@ -3373,6 +3407,10 @@ function bayaranATfunc(e){
$('#pinjamanbaru').val(formatter.format(pembiayaanbaru));
$('#basic-addon2').text(formatter.format(totalpercent.toFixed(2)));
//bakipelanggan
// let totalbaki = byr - baki;
// $('#bakiPelanggan').val((totalbaki > 0) ? parseFloat(totalbaki.toFixed(2)) : parseFloat((0).toFixed(2)) );
// $('#perludibayar').val(total);
// if(baki)
}