diff --git a/app/Http/Controllers/GadaianController.php b/app/Http/Controllers/GadaianController.php index 16dd9100..e45f110b 100644 --- a/app/Http/Controllers/GadaianController.php +++ b/app/Http/Controllers/GadaianController.php @@ -189,6 +189,8 @@ class GadaianController extends Controller 'ujrah' => $ujrah, 'onepercent' => $onepercent, 'margin_semasa' => $margin_pinjaman, + 'kadar_rebate' => $request->kadar_rebate, + 'rebate' => $request->rebate ])->json(); diff --git a/app/Http/Controllers/KhazanahController.php b/app/Http/Controllers/KhazanahController.php index 7922a5d9..77c04aa7 100644 --- a/app/Http/Controllers/KhazanahController.php +++ b/app/Http/Controllers/KhazanahController.php @@ -2450,6 +2450,7 @@ class KhazanahController extends Controller $penghutangkaki = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/PenghutangKakitangan/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); $untungrugi = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/UntungRugiCalculation/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); $bayaranpendahuluan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/BayaranPendahuluan/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); + $rebetpromo = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/RebetPromoCalculation/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); //Tanggungan Semasa $panjar = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/CalculationPanjar/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); @@ -2460,6 +2461,7 @@ class KhazanahController extends Controller $cajperkhidmatan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/cajperkhidmatanterkumpul/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); $hapuskira = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/CalculationHapusKira/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); $xtra = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/Xtra/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); + $rebetpromo = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/RebetPromoCalculation/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json(); //TunaiDitangan Sementara Upah @@ -2511,6 +2513,8 @@ class KhazanahController extends Controller if($imbangduga['pindahkekpkb'] > 0) array_push($hartasemasa,['glcode' => '1000/090','descpt' => 'Pindah Ke KPKB(IP)', 'amaun' => $imbangduga['pindahkekpkb']]); if($peruntukanhapuskira > 0) array_push($hartasemasa,['glcode' => '1000/015','descpt' => 'Peruntukan Hapus Kira', 'amaun' => $peruntukanhapuskira]); if($belian1stop > 0) array_push($hartasemasa,['glcode' => '8000/501','descpt' => 'Belian 1 Stop', 'amaun' => $belian1stop]); + if($rebetpromo > 0) array_push($hartasemasa,['glcode' => '5000/242','descpt' => 'Diskaun Promosi', 'amaun' => ($rebetpromo * -1)]); + $totalhartasemasa = 0; foreach($hartasemasa as $index => $hs) @@ -2542,6 +2546,7 @@ class KhazanahController extends Controller if($utgterkumpulxtra > 0) array_push($tanggungansemasa,['glcode' => '7000/201','descpt' => 'Untung/Rugi Terkumpul Xtra','amaun' => $utgterkumpulxtra]); if($jualan1stop > 0) array_push($tanggungansemasa,['glcode' => '9000/501','descpt' => 'Jualan 1 Stop','amaun' => $jualan1stop]); if($hapuskira > 0) array_push($tanggungansemasa,['glcode' => '3000/011','descpt' => 'Hapus Kira','amaun' => -$hapuskira]); + if($rebetpromo > 0) array_push($tanggungansemasa,['glcode' => '5000/242','descpt' => 'Diskaun Promosi', 'amaun' => ($rebetpromo * -1)]); $totaltanggungansemasa = 0; foreach($tanggungansemasa as $index => $ts) diff --git a/resources/views/gadaian/v2/index.blade.php b/resources/views/gadaian/v2/index.blade.php index 615cd79e..4ba7a3f6 100644 --- a/resources/views/gadaian/v2/index.blade.php +++ b/resources/views/gadaian/v2/index.blade.php @@ -633,83 +633,61 @@ }); } - $('#pinjaman').on('input',function(){ - var pinjaman = Number(this.value); - var nilaimarhun = Number($('#jumlah_nilai_marhun').val()); - - // var keuntungan_sebulan = pinjaman * kadarupah; - // var keuntungan_6bln = keuntungan_sebulan * 6; - - percent_pinjaman = (Number(pinjaman)/Number(total_nilai_marhun))*100; - - - - let array_keuntungan = []; - - let rebate, kadar_rebate; - - if (pinjaman < 20000) { - rebate = keuntungan_sebulan * 0.05; - kadar_rebate = 5; - } else if (pinjaman >= 20000 && pinjaman <= 50000) { - rebate = keuntungan_sebulan * 0.10; - kadar_rebate = 10; - } else if (pinjaman > 50000 && pinjaman <= 100000) { - rebate = keuntungan_sebulan * 0.15; - kadar_rebate = 15; - } else { - rebate = keuntungan_sebulan * 0.20; - kadar_rebate = 20; - } + $('#pinjaman').on('input', function () { + var pinjaman = Number(this.value); + var nilaimarhun = Number($('#jumlah_nilai_marhun').val()); - $.ajax({ - method:'POST', - url: api_url + '/api/onepercent', - async:false, - data:{ - 'nilaimarhun' : total_nilai_marhun, - 'pembiayaan' : pinjaman, - 'kadarujrah' : kadarupah, - 'margin' : percent_pinjaman, - 'kadar_rebate': kadar_rebate, - 'kodcaw' : "{{ Auth::user()->cawangan }}" - }, - success:function(data){ - array_keuntungan = data; + var percent_pinjaman = (pinjaman / total_nilai_marhun) * 100; + + let array_keuntungan = {}; // Initialize as an object + + $.ajax({ + method: 'POST', + url: api_url + '/api/onepercent', + async: false, + data: { + 'nilaimarhun': total_nilai_marhun, + 'pembiayaan': pinjaman, + 'kadarujrah': kadarupah, + 'margin': percent_pinjaman, + 'kodcaw': "{{ Auth::user()->cawangan }}" + }, + success: function (data) { + array_keuntungan = data; + + var keuntungan_sebulan = getRoundedMethod(array_keuntungan['keuntungan']); + var keuntungan_6bln = getRoundedMethod(keuntungan_sebulan * 6); + var ujrah = getRoundedMethod(array_keuntungan['ujrah']); + var onepercent = getRoundedMethod(array_keuntungan['onepercent']); + + // **Rebate Calculation** + let rebate, kadar_rebate; + if (pinjaman < 20000) { + rebate = keuntungan_sebulan * 0.05; + kadar_rebate = 5; + } else if (pinjaman >= 20000 && pinjaman <= 50000) { + rebate = keuntungan_sebulan * 0.10; + kadar_rebate = 10; + } else if (pinjaman > 50000 && pinjaman <= 100000) { + rebate = keuntungan_sebulan * 0.15; + kadar_rebate = 15; + } else { + rebate = keuntungan_sebulan * 0.20; + kadar_rebate = 20; } - }); - var keuntungan_sebulan = getRoundedMethod(array_keuntungan['keuntungan']); - var keuntungan_6bln = getRoundedMethod(keuntungan_sebulan * 6); - var kadar_rebate; - - if (pinjaman < 20000) { - var rebate = keuntungan_sebulan * 0.05; - } else if (pinjaman >= 20000 && pinjaman <= 50000) { - var rebate = keuntungan_sebulan * 0.10; - } else if (pinjaman > 50000 && pinjaman <= 100000) { - var rebate = keuntungan_sebulan * 0.15; - } else { - var rebate = keuntungan_sebulan * 0.20; - } - - if (pinjaman < 20000) { - kadar_rebate = (5 / 100) * 100; - } else if (pinjaman >= 20000 && pinjaman <= 50000) { - kadar_rebate = (10 / 100) * 100; - } else if (pinjaman > 50000 && pinjaman <= 100000) { - kadar_rebate = (15 / 100) * 100; - } else { - kadar_rebate = (20 / 100) * 100; - } + // **Display values** $('.span-pinjaman').text(formatter.format(percent_pinjaman.toFixed(2)) + ' %'); $('#keuntungan_sebulan').val(formatter.format(keuntungan_sebulan.toFixed(2))); $('#keuntungan_6bln').val(formatter.format(keuntungan_6bln.toFixed(2))); - $('#ujrah').val(formatter.format(getRoundedMethod(array_keuntungan['ujrah']).toFixed(2))); - $('#onepercent').val(formatter.format(getRoundedMethod(array_keuntungan['onepercent']).toFixed(2))); - $('#rebate').val(formatter.format(rebate.toFixed(2))); - $('#kadar_rebate').val(formatter.format(kadar_rebate.toFixed(2)) + ' %'); + $('#ujrah').val(formatter.format(ujrah.toFixed(2))); + $('#onepercent').val(formatter.format(onepercent.toFixed(2))); + $('#rebate').val(formatter.format(rebate.toFixed(2))); // Correctly displaying rebate + $('#kadar_rebate').val(formatter.format(kadar_rebate.toFixed(2)) + ' %'); + } }); +}); + const formatter = new Intl.NumberFormat('en-US', { minimumFractionDigits: 2 diff --git a/resources/views/penebusan/v2/index.blade.php b/resources/views/penebusan/v2/index.blade.php index dc0b001f..eebf7566 100644 --- a/resources/views/penebusan/v2/index.blade.php +++ b/resources/views/penebusan/v2/index.blade.php @@ -208,6 +208,15 @@ + {{--
+
+ JUMLAH PERLU DIBAYAR SELEPAS DISKAUN (RM) +
+
+ +
+
--}} +
@@ -312,6 +321,16 @@
+ +
+
+ REBET DISKAUN (RM) +
+
+ + +
+
@@ -328,6 +347,14 @@ +
+
+ JUMLAH PERLU DIBAYAR SELEPAS DISKAUN (RM) +
+
+ +
+
@@ -428,6 +455,15 @@
+
+
+ REBET DISKAUN (RM) +
+
+ +
+
+
@@ -453,7 +489,7 @@
- +
@@ -561,6 +597,16 @@
+
+ +
+
+ REBET DISKAUN (RM) +
+
+ + +
@@ -1217,7 +1263,7 @@ break; case "A": var jumupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,"")); - // var jumupahrebet = parseFloat($('#bayaranditerima').val().replace(/[^0-9.-]+/g,"")); + // var jumupahrebet = parseFloat($('#bayaranditerima').val().replace(/[^0-9.-]+/g,"")); elem_jenisA.prependTo(".infotransaksi"); $('#jenisAT').remove(); @@ -1395,8 +1441,17 @@ dataType: 'json', async:false, success:function(harga_tebus){ - $('#perludibayar').val(formatter.format(harga_tebus)); - } + // // Ambil nilai diskaun + // let diskaun = parseFloat($('#jumlahDiskaun').val().replace(/,/g, '')) || 0; + + // // Tolak diskaun terus dari harga tebus + // let harga_tebus_akhir = parseFloat(harga_tebus) - diskaun; + + // // Set balik ke input 'PERLU DIBAYAR' + $('#perludibayar').val(formatter.format(harga_tebus)); +} + + }); // Telah dibayar @@ -1554,69 +1609,76 @@ function bayarkey(e){ - $('#bakiPelanggan').val('0.00'); - $('#duitPelanggan').val(''); +$('#bakiPelanggan').val('0.00'); +$('#duitPelanggan').val(''); - if($('#sltjenistebus').find(":selected").val() == 'S'){ - let byr = $(e).val().replace(/[^0-9.-]+/g,""); - let total = 0; - let pdbyr = 0; - let totalseparuh = 0; - let totalnilaimarhunseparuh = 0; - var nmsemasa = parseFloat("{{ $nilaihargasemasa }}"); - let upah = parseFloat($('#jumlahupah').val()); - let ujrahrebet = parseFloat($('#jumujrahrebet').val().replace(/[^0-9.-]+/g,"")); - let onepercentrebet = parseFloat($('#jumonepercentrebet').val().replace(/[^0-9.-]+/g,"")); +if($('#sltjenistebus').find(":selected").val() == 'S'){ + let byr = $(e).val().replace(/[^0-9.-]+/g,""); + let total = 0; + let pdbyr = 0; + let totalseparuh = 0; + let totalnilaimarhunseparuh = 0; + var nmsemasa = parseFloat("{{ $nilaihargasemasa }}"); + let upah = parseFloat($('#jumlahupah').val()); + let ujrahrebet = parseFloat($('#jumujrahrebet').val().replace(/[^0-9.-]+/g,"")); + let onepercentrebet = parseFloat($('#jumonepercentrebet').val().replace(/[^0-9.-]+/g,"")); - let rebet = ujrahrebet + onepercentrebet; + let rebet = ujrahrebet + onepercentrebet; - $.each( array_nm, function( index, value ) { - totalnilaimarhunseparuh += parseFloat(value); - }); + $.each( array_nm, function( index, value ) { + totalnilaimarhunseparuh += parseFloat(value); + }); - pdbyr = parseFloat(byr); - total = $('#pinjaman').val().replace(/[^0-9.-]+/g,"") - (pdbyr - upah + rebet); - let totaldibayar = parseFloat($('#pinjaman').val().replace(/[^0-9.-]+/g,"")) + (upah - rebet); + pdbyr = parseFloat(byr); + total = $('#pinjaman').val().replace(/[^0-9.-]+/g,"") - (pdbyr - upah + rebet); + let totaldibayar = parseFloat($('#pinjaman').val().replace(/[^0-9.-]+/g,"")) + (upah - rebet); - let bakinm = nmsemasa - totalnilaimarhunseparuh; + let bakinm = nmsemasa - totalnilaimarhunseparuh; - let totalkurang = bayaranseparuhasal + (upah - rebet); - let tenpercentmarhun = bakinm * 0.1; - let tenpercentblock = getRoundedMethod(tenpercentmarhun); + let totalkurang = bayaranseparuhasal + (upah - rebet); + let tenpercentmarhun = bakinm * 0.1; + let tenpercentblock = getRoundedMethod(tenpercentmarhun); - var totalcalculate = ((total/bakinm)*100); + var totalcalculate = ((total/bakinm)*100); - if(byr < totalkurang){ - let test = totalkurang - (upah + rebet); + if(byr < totalkurang){ + let test = totalkurang - (upah + rebet); - let bakipjm = parseFloat($('#pinjaman').val().replace(/[^0-9.-]+/g,"")) - (bayaranseparuhasal); - totalcalculate = ((bakipjm/bakinm) * 100); - - $(e).val(formatter.format(totalkurang.toFixed(2))); - $('#bakipinjaman').val(formatter.format(bakipjm.toFixed(2))); - $('#basic-separuh').text(formatter.format(Number(totalcalculate.toFixed(2)))); - return false; - } - - if(total < tenpercentblock){ - let temptotal = totaldibayar - tenpercentblock; - let tempbakipjm = $('#pinjaman').val().replace(/[^0-9.-]+/g,"") - (temptotal - upah + rebet); - - totalcalculate = ((tempbakipjm/bakinm) * 100); - $(e).val(formatter.format(temptotal.toFixed(2))); - $('#bakipinjaman').val(formatter.format(tempbakipjm.toFixed(2))); - $('#basic-separuh').text(formatter.format(Number(totalcalculate.toFixed(2)))); - return false; - } - - - - $('#bakipinjaman').val(total.toFixed(2)); - $('#basic-separuh').text(Number(totalcalculate.toFixed(2))); - } + let bakipjm = parseFloat($('#pinjaman').val().replace(/[^0-9.-]+/g,"")) - (bayaranseparuhasal); + totalcalculate = ((bakipjm/bakinm) * 100); + + $(e).val(formatter.format(totalkurang.toFixed(2))); + $('#bakipinjaman').val(formatter.format(bakipjm.toFixed(2))); + $('#basic-separuh').text(formatter.format(Number(totalcalculate.toFixed(2)))); + return false; } + if(total < tenpercentblock){ + let temptotal = totaldibayar - tenpercentblock; + let tempbakipjm = $('#pinjaman').val().replace(/[^0-9.-]+/g,"") - (temptotal - upah + rebet); + + totalcalculate = ((tempbakipjm/bakinm) * 100); + $(e).val(formatter.format(temptotal.toFixed(2))); + $('#bakipinjaman').val(formatter.format(tempbakipjm.toFixed(2))); + $('#basic-separuh').text(formatter.format(Number(totalcalculate.toFixed(2)))); + return false; + } + + + + $('#bakipinjaman').val(total.toFixed(2)); + $('#basic-separuh').text(Number(totalcalculate.toFixed(2))); + } +} + +function kiraPerluDibayarSelepasDiskaun() { + var perluDibayar = parseFloat(document.getElementById("perludibayar").value.replace(/,/g, '')) || 0; + var diskaun = parseFloat(document.getElementById("jumlahDiskaun").value.replace(/,/g, '')) || 0; + + var akhir = perluDibayar - diskaun; + document.getElementById("perludibayarAkhir").value = akhir.toFixed(2); +} function bayartawarruq(e){ var keuntungan = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,"")); var bayaran = parseFloat(e.value); @@ -1835,6 +1897,25 @@ jeniskeuntungan = "asal"; } + //kira rebet diskaun + + // let diskaun + // if (pinjaman < 20000) { + // diskaun = jumupah * 0.05; + + // } else if (pinjaman >= 20000 && pinjaman <= 50000) { + // diskaun = jumupah * 0.10; + + // } else if (pinjaman > 50000 && pinjaman <= 100000) { + // diskaun = jumupah * 0.15; + + // } else { + // diskaun = jumupah * 0.20; + + // } + + //$('#jumdiskaun').val(formatter.format(diskaun.toFixed(2))); + var nopelanggan = "{{ $gadai['nopelanggan'] }}"; var jenistebus = $('#sltjenistebus').find(":selected").val(); var jbg = "{{ $gadai['tempoh'] }}"; @@ -1850,6 +1931,7 @@ var nowakil = nw; var duitpelanggan = $('#duitPelanggan').val().replace(/[^0-9.-]+/g,""); var bakipelanggan = $('#bakiPelanggan').val().replace(/[^0-9.-]+/g,""); + //var diskaun = $('#diskaun').val().replace(/[^0-9.-]+/g,""); if(Number(duitpelanggan) < Number(bakipinjaman)){ @@ -1878,6 +1960,7 @@ "addpinjaman" : addpinjaman, "bakipinjaman" : bakipinjaman, "bakiupah" : bakiupah, + //"diskaun": diskaun, "historygadaian" : historygadaian, "marhun" : marhun, "nowakil" : nowakil, @@ -1979,10 +2062,27 @@ let hadbayaransuran = (parseFloat("{{ $gadai['nilaimarhun']}}") * 0.1); + //kira rebet diskaun + // let diskaun + // if (pinjaman < 20000) { + // diskaun = jumupah * 0.05; + + // } else if (pinjaman >= 20000 && pinjaman <= 50000) { + // diskaun = jumupah * 0.10; + + // } else if (pinjaman > 50000 && pinjaman <= 100000) { + // diskaun = jumupah * 0.15; + + // } else { + // diskaun = jumupah * 0.20; + + // } + 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,"")); + //var diskaun = parseFloat($('#diskaun').val().replace(/[^0-9.-]+/g,"")); if(isNaN(duitpelanggan)) duitpelanggan = 0; diff --git a/resources/views/print/laporan_gadaian_ujrah.blade.php b/resources/views/print/laporan_gadaian_ujrah.blade.php index 3e5aa0ce..e2fc177b 100644 --- a/resources/views/print/laporan_gadaian_ujrah.blade.php +++ b/resources/views/print/laporan_gadaian_ujrah.blade.php @@ -230,6 +230,7 @@ Lain-Lain Caj (RM) Keuntungan 1% (RM) Keuntungan + Diskaun Rebet Peratus (%) @php @@ -301,6 +302,7 @@ {{ number_format($item['ujrah']*12,2) }} {{ number_format($item['onepercent']*12,2) }} {{ number_format($item['upah12'],2) }} + {{ number_format($item['diskaun'],2) }} {{ $item['percentpinj'] }} @php $counter++; @endphp diff --git a/resources/views/print/laporan_tebus_ujrah.blade.php b/resources/views/print/laporan_tebus_ujrah.blade.php index e19f8a87..056ecd9f 100644 --- a/resources/views/print/laporan_tebus_ujrah.blade.php +++ b/resources/views/print/laporan_tebus_ujrah.blade.php @@ -241,6 +241,7 @@ B.Pembiayaan(RM) Lain-Lain Caj (RM) Untung 1% (RM) + Diskaun Rebet (RM) Pendapatan(RM) Bayaran(RM) Jumlah(RM) @@ -337,6 +338,7 @@ {{ number_format($item['ujrah'], 2) }} {{ number_format($item['onepercent'], 2) }} {{-- {{ number_format($item['bakiupah'], 2) }} --}} + {{ number_format($item['diskaun_rebate'], 2) }} @php if ($item['tagbaru']) { diff --git a/resources/views/print/resittebus_ujrah.blade.php b/resources/views/print/resittebus_ujrah.blade.php index 341436ef..fcca9a1e 100644 --- a/resources/views/print/resittebus_ujrah.blade.php +++ b/resources/views/print/resittebus_ujrah.blade.php @@ -635,6 +635,11 @@ : RM {{ number_format($totalrebate['ujrah'], 2) }} + + (-) Diskaun Promosi + : RM + {{ number_format($gadai['diskaun'], 2) }} + @@ -860,6 +865,11 @@ : RM {{ number_format($totalrebate['ujrah'], 2) }} + + (-) Diskaun Promosi + : RM + {{ number_format($gadai['diskaun'], 2) }} +