2302 lines
112 KiB
PHP
2302 lines
112 KiB
PHP
@extends('layouts.app')
|
||
@section('content')
|
||
@include('modal.editmarhun')
|
||
|
||
|
||
@php
|
||
if($customer_info['kpbaru'] != null){
|
||
$noic = $customer_info['kpbaru'];
|
||
}else{
|
||
$noic = $customer_info['kplama'];
|
||
}
|
||
$gadai_session = Http::withOptions(['verify' => config('app.api_verify')])->get($api_url . '/api/check/sag',['kodcaw'=>$cawangan_info['kodcaw'],'norujukan'=>$norujukan,'nokp'=>$noic])->json();
|
||
$outstanding_semasa = Http::withOptions(['verify' => config('app.api_verify')])->get($api_url . '/api/gadai/customers/'. $noic .'/outstandingsemasa/'.$cawangan_info['kodcaw'])->json();
|
||
@endphp
|
||
|
||
@if($gadai_session != null)
|
||
<div class="p-4">
|
||
<div class="row justify-content-center">
|
||
<div class="col-md-12 col-lg-12">
|
||
|
||
<nav aria-label="breadcrumb">
|
||
<ol class="breadcrumb pb-3">
|
||
<li class="breadcrumb-item"><a href="#">Home</a></li>
|
||
<li class="breadcrumb-item"><a href="#">Pelanggan</a></li>
|
||
<li class="breadcrumb-item active" aria-current="page">Pembiayaan</li>
|
||
</ol>
|
||
</nav>
|
||
|
||
<div class="form-group row col-12">
|
||
<input type="hidden" name="kodcaw" id="kodcaw" value="{{$cawangan_info['kodcaw']}}">
|
||
<input type="hidden" name="nokp" id="nokp" value="{{ $customer_info['kpbaru'] }}">
|
||
|
||
</div>
|
||
<div class="col-12 mb-2">
|
||
<div class="form-group row">
|
||
<div class="col-6 text-left">
|
||
<div class="form-group row">
|
||
<div class="col-md-4">
|
||
<b>No Rujukan</b>
|
||
</div>
|
||
<div class="col-md-8">
|
||
<input type="text" class="form-control" name="norujukan" id="norujukan" readonly value="{{ $norujukan }}">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-6 text-left">
|
||
<div class="form-group row">
|
||
<div class="col-md-4">
|
||
<b>Baki Limit Pembiayaan</b>
|
||
</div>
|
||
<div class="col-md-8">
|
||
@php
|
||
$limit_pinjaman_semasa = 300000 - $outstanding_semasa;
|
||
@endphp
|
||
<input type="text" class="form-control" name="limit_pinjaman" id="limit_pinjaman" readonly value="{{ number_format($limit_pinjaman_semasa,2) }}">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-12 text-right">
|
||
<button type="button" style="margin:auto" class="btn btn-primary" data-toggle="modal" data-target="#daftar_marhun">Daftar Marhun</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="card">
|
||
<div class="card-body">
|
||
<!-- Toggle Button -->
|
||
<div class="mb-3">
|
||
<button type="button" class="btn btn-info" id="toggleTableBtn">
|
||
<i class="fas fa-exchange-alt"></i> Papar Margin
|
||
</button>
|
||
</div>
|
||
|
||
<!-- Main Marhun Table -->
|
||
<table class="table table-striped table-hover text-center" id="myTable">
|
||
<thead class="thead-dark">
|
||
<tr>
|
||
<th>Bil</th>
|
||
<th>Recno</th>
|
||
<th>Marhun</th>
|
||
<th>Nilai Marhun</th>
|
||
<th>Karat</th>
|
||
<th>Berat</th>
|
||
<th>Kuantiti</th>
|
||
<th>Nota</th>
|
||
<th>Harga</th>
|
||
<th>Batu Permata</th>
|
||
<th>Berat Permata</th>
|
||
<th>Tindakan</th>
|
||
</tr>
|
||
</thead>
|
||
<tfoot class="thead-dark">
|
||
<th colspan="3" class="text-center">Jumlah</th>
|
||
<th id="totalnilaimarhuntable"></th>
|
||
<th></th>
|
||
<th id="totalberattable"></th>
|
||
<th id="totalkuantititable"></th>
|
||
<th colspan="5"></th>
|
||
</tfoot>
|
||
</table>
|
||
|
||
<!-- Margin Summary Table (Hidden by default) -->
|
||
<table class="table table-striped table-hover text-center" id="marginTable" style="display: none;">
|
||
<thead class="thead-dark">
|
||
<tr>
|
||
<th>Bil</th>
|
||
<th>Karat</th>
|
||
<th>Nilai Marhun</th>
|
||
<th>Margin Teller (%)</th>
|
||
<th>Margin PC (%)</th>
|
||
<th>Pembiayaan Teller</th>
|
||
<th>Pembiayaan PC</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="marginTableBody">
|
||
<!-- Data will be populated by JavaScript -->
|
||
</tbody>
|
||
<tfoot class="thead-dark">
|
||
<tr>
|
||
<th>Jumlah</th>
|
||
<th></th>
|
||
<th id="totalNilaiMarhunMargin"></th>
|
||
<th></th>
|
||
<th></th>
|
||
<th id="totalNilaiTellerMargin"></th>
|
||
<th id="totalNilaiPCMargin"></th>
|
||
</tr>
|
||
</tfoot>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
<div class="card">
|
||
<div class="card-body">
|
||
<form name="gadaistore" action="{{ route('gadai.store') }}" method='post' onsubmit="return verifyGadai(this)">
|
||
<!-- <form action="{{ route('gadai.store') }}" method='post' name="gadaistore" id="gadaistore"> -->
|
||
@csrf
|
||
<div class="col-12 form-group row">
|
||
<div class="col-md-5">
|
||
<div class="form-group row">
|
||
<div class="col-5">
|
||
Pembiayaan Maks
|
||
</div>
|
||
<div class="col-7 input-group">
|
||
<input type="text" style="height:50px !important" class="form-control" readonly name="pembiayaan_max_teller" id="pembiayaan_max_teller">
|
||
<div class="input-group-append">
|
||
<span class="input-group-text span-pinjaman-max"></span>
|
||
</div>
|
||
</div>
|
||
</diV>
|
||
</div>
|
||
<div class="col-4">
|
||
<div class="form-group row">
|
||
<div class="col-md-6">
|
||
Pendapatan Sebulan
|
||
</div>
|
||
<div class="col-md-6">
|
||
<input type="text" class="form-control" readonly name="keuntungan_sebulan" id="keuntungan_sebulan">
|
||
</div>
|
||
</diV>
|
||
</div>
|
||
<div class="col-3">
|
||
<div class="form-group row">
|
||
<div class="col-md-6">
|
||
Lain-Lain Caj
|
||
</div>
|
||
<div class="col-md-6">
|
||
<input type="text" class="form-control" readonly name="ujrah" id="ujrah">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{{-- <div class="col-1">
|
||
<div class="form-group row">
|
||
</div>
|
||
</div> --}}
|
||
<div class="col-md-5">
|
||
<div class="form-group row">
|
||
<div class="col-5">
|
||
Pembiayaan
|
||
</div>
|
||
<div class="col-7 input-group">
|
||
<input type="text" class="form-control" onpaste="return false;" ondrop="return false;" onkeypress="return validateFloatKeyPress(this,event);" name="pinjaman" id="pinjaman">
|
||
<div class="input-group-append">
|
||
<span class="input-group-text span-pinjaman">0 %</span>
|
||
</div>
|
||
</div>
|
||
</diV>
|
||
</div>
|
||
<div class="col-4">
|
||
<div class="form-group row">
|
||
<div class="col-md-6">
|
||
Pendapatan 6 Bulan
|
||
</div>
|
||
<div class="col-md-6">
|
||
<input type="text" class="form-control" readonly name="keuntungan_6bln" id="keuntungan_6bln">
|
||
</div>
|
||
</diV>
|
||
</div>
|
||
<div class="col-3">
|
||
<div class="form-group row">
|
||
<div class="col-md-6">
|
||
Keuntungan
|
||
</div>
|
||
<div class="col-md-6">
|
||
<input type="text" class="form-control" readonly name="onepercent" id="onepercent">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-5">
|
||
<div class="form-group row">
|
||
<div class="col-md-5">
|
||
Pembiayaan Maks Pelulus
|
||
</div>
|
||
<div class="col-md-7 input-group">
|
||
<input type="text" class="form-control" readonly name="pembiyaan_max_pelulus" id="pembiyaan_max_pelulus">
|
||
<div class="input-group-append">
|
||
<span class="input-group-text span-pinjaman-max-pelulus"></span>
|
||
</div>
|
||
</div>
|
||
</diV>
|
||
</div>
|
||
<div class="col-12" id="cara_terima_section" style="display:none;">
|
||
<hr>
|
||
<div class="form-group row">
|
||
<div class="col-md-3">
|
||
Cara Terima Pembiayaan
|
||
</div>
|
||
<div class="col-md-9">
|
||
<div class="form-check form-check-inline">
|
||
<input class="form-check-input" type="radio" name="cara_terima" id="cara_terima_tunai" value="TUNAI" checked>
|
||
<label class="form-check-label" for="cara_terima_tunai">Tunai</label>
|
||
</div>
|
||
<div class="form-check form-check-inline">
|
||
<input class="form-check-input" type="radio" name="cara_terima" id="cara_terima_online" value="ONLINE">
|
||
<label class="form-check-label" for="cara_terima_online">Online (Akaun Bank)</label>
|
||
</div>
|
||
<small class="form-text text-muted">Pilihan Online untuk pembiayaan RM5,000 – RM50,000 sahaja.</small>
|
||
</div>
|
||
</div>
|
||
<div id="bank_online_section" style="display:none;">
|
||
<div class="form-group row">
|
||
<div class="col-md-3">Modal Online</div>
|
||
<div class="col-md-9">
|
||
<div id="modal_online_status" class="mb-1">Memeriksa baki...</div>
|
||
</div>
|
||
</div>
|
||
<div class="form-group row">
|
||
<div class="col-md-3">Bank</div>
|
||
<div class="col-md-4">
|
||
@php
|
||
$banks_list = Http::withOptions(['verify' => config('app.api_verify')])
|
||
->get($api_url . '/api/bank')
|
||
->json();
|
||
@endphp
|
||
<select class="form-control" name="kodbank" id="gadai_kodbank">
|
||
<option value="">-- Pilih Bank --</option>
|
||
@foreach ($banks_list as $banks)
|
||
<option value="{{ $banks['abbreviation'] }}"
|
||
{{ ($customer_info['kodbank'] ?? '') == $banks['abbreviation'] ? 'selected' : '' }}
|
||
data-nama="{{ $banks['name'] }}">
|
||
{{ $banks['name'] }}
|
||
</option>
|
||
@endforeach
|
||
</select>
|
||
</div>
|
||
<div class="col-md-2">No. Akaun</div>
|
||
<div class="col-md-3">
|
||
<input type="text" class="form-control" name="noakaun" id="gadai_noakaun"
|
||
value="{{ $customer_info['noakaun'] ?? '' }}">
|
||
</div>
|
||
</div>
|
||
<div class="form-group row">
|
||
<div class="col-md-3">Nama Akaun</div>
|
||
<div class="col-md-9">
|
||
<input type="text" class="form-control" name="nama_akaun" id="gadai_nama_akaun"
|
||
value="{{ $customer_info['nama'] ?? '' }}">
|
||
<input type="hidden" name="nama_bank" id="gadai_nama_bank" value="">
|
||
<input type="hidden" name="nama_pelanggan" value="{{ $customer_info['nama'] ?? '' }}">
|
||
<input type="hidden" name="nopelanggan" id="nopelanggan" value="{{ $customer_info['nopelanggan'] ?? '' }}">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-12">
|
||
<input type="text" name="norujukan_gadai" id="norujukan_gadai" value="{{ $norujukan }}" hidden>
|
||
<input type="text" name="marhun_detail" id="marhun_detail" value="" hidden>
|
||
<input type="text" name="total_berat" id="total_berat" value="" hidden>
|
||
<input type="text" name="kadarkeuntungan" id="kadarkeuntungan" value="" hidden>
|
||
<input type="text" name="kuantiti_marhun" id="kuantiti_marhun" value="" hidden>
|
||
<input type="text" name="total_nilai_marhun" id="total_nilai_marhun" value="" hidden>
|
||
<input type="text" name="nokp" id="nokp" value="{{ !empty($customer_info['kpbaru']) ? $customer_info['kpbaru'] : ($customer_info['kplama'] ?? '') }}" hidden>
|
||
<a href="{{ route('gadai.batal',['norujukan'=>$norujukan]) }}" class="float-right btn btn-danger mr-2">Batal</a>
|
||
<input type="submit" name="terima_gadai" id="terima_gadai" class="float-right btn btn-primary mr-2" value="Terima">
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<!-- modal daftar marhun-->
|
||
<div class="modal fade" id="daftar_marhun" tabindex="-1" data-backdrop="static" aria-labelledby="ModalLabel" aria-hidden="true">
|
||
<div class="modal-dialog modal-lg">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<h5 class="modal-title" id="ModalLabel">Daftar Marhun</h5>
|
||
</div>
|
||
<div class="modal-body">
|
||
<form action="" id="maklumat_marhun" method="post">
|
||
<div class="row justify-content-center">
|
||
<div class="col-md-6">
|
||
<div class="form-group row">
|
||
<input type="hidden" name="kodcaw" id="kodcaw" value="">
|
||
<div class="col-md-4">No Rujukan</div>
|
||
<div class="col-md-8"><input class="form-control" type="text" name="norujukan_marhun" id="norujukan_marhun" value="{{ $norujukan }}"></div>
|
||
<div class="col-md-4">Marhun</div>
|
||
<div class="col-md-8">
|
||
<select class="form-control" name="marhun" id="marhun">
|
||
<option disabled selected value> -- Pilih Jenis Marhun -- </option>
|
||
</select>
|
||
</div>
|
||
<div class="col-md-12">
|
||
<div class="form-group">
|
||
<label>Nota</label>
|
||
<select name="nota" id="nota" class="select2 form-control" multiple="multiple" data-placeholder="Nota Tambahan" style="width: 100%;">
|
||
<option value="Rosak">Rosak</option>
|
||
<option value="Putus">Putus</option>
|
||
<option value="Patah">Patah</option>
|
||
<option value="Sebelah">Sebelah</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="col-md-4">Kuantiti</div>
|
||
<div class="col-md-8">
|
||
<input class="form-control" name="kuantiti" id="kuantiti" type="text" pattern="\d*" maxlength="2" disabled>
|
||
</div>
|
||
|
||
<div class="col-md-4">Karat</div>
|
||
<div class="col-md-8">
|
||
<select class="form-control" name="karat" id="karat">
|
||
<option disabled selected value> -- Pilih Karat -- </option>
|
||
</select>
|
||
</div>
|
||
<div class="col-md-4">Berat Bersih</div>
|
||
<div class="col-md-8"><input class="form-control" type="text" name="berat_emas" id="berat_emas"></div>
|
||
<div class="col-md-4">Harga</div>
|
||
<div class="col-md-8"><input class="form-control" type="text" name="harga" id="harga" readonly></div>
|
||
<div class="col-md-4">Nilai Marhun</div>
|
||
<div class="col-md-8"><input class="form-control" type="text" name="nilai_marhun" id="nilai_marhun" readonly></div>
|
||
<div class="col-md-4">Bilangan Marhun</div>
|
||
<div class="col-md-8"><input class="form-control" type="text" name="bilangan_marhun" id="bilangan_marhun" readonly></div>
|
||
<div class="col-md-4">Jumlah Kuantiti</div>
|
||
<div class="col-md-8"><input class="form-control" type="text" name="bilangan_jumlah_kuantiti" id="bilangan_jumlah_kuantiti" readonly></div>
|
||
<div class="col-md-4">Jumlah Nilai Marhun</div>
|
||
<div class="col-md-8"><input class="form-control" type="text" name="jumlah_nilai_marhun" id="jumlah_nilai_marhun" readonly></div>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-6" id="col_right" style="display: none">
|
||
<div class="form-group row">
|
||
<div class="col-md-12">
|
||
<div class="form-group">
|
||
<div class="d-flex justify-content-between">
|
||
<span>Ada Batu Permata?</span>
|
||
<div>
|
||
<label for="tagpermata">Ya</label>
|
||
<input type="checkbox" id="tagpermata" name="tagpermata">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="d-flex" id="divanggaran" style="visibility: hidden">
|
||
<div class="col-8">Anggaran Berat Permata</div>
|
||
<div class="col-4"><input class="form-control" type="text" name="beratpermata" id="beratpermata" autocomplete="off"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<div class="form-group row">
|
||
<input class="btn btn-primary mr-2" type="button" name="tambah_marhun" id="tambah_marhun" value="Tambah">
|
||
<input class="btn btn-primary mr-2" type="button" name="terima_marhun" id="terima_marhun" value="Terima">
|
||
<button type="button" class="btn btn-danger" name="batal_marhun" id="batal_marhun">Batal</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
@else
|
||
@php
|
||
header("Refresh:0");
|
||
@endphp
|
||
@endif
|
||
<script src="{{ asset('js/rounded-methods.js') }}"></script>
|
||
<script>
|
||
var api_url = "{{ api_url_for_browser() }}";
|
||
var kodcaw_ujrah = "<?php echo $cawangan_info['kodcaw'] ?>";
|
||
$('form input').keydown(function (e) {
|
||
if (e.keyCode == 13) {
|
||
e.preventDefault();
|
||
return false;
|
||
}
|
||
});
|
||
function disableF5(e) { if ((e.which || e.keyCode) == 116) e.preventDefault(); };
|
||
$(document).ready( function () {
|
||
$(document).on("keydown", disableF5);
|
||
var norujukan = $('#norujukan').val();
|
||
getMarhun(norujukan);
|
||
|
||
$.ajax({
|
||
method:'GET',
|
||
url: api_url + '/api/jemas',
|
||
success:function(data){
|
||
$.each(data,function(index,jemas){
|
||
$("#marhun").append(new Option(jemas['descpt'], jemas['marhun']));
|
||
})
|
||
}
|
||
});
|
||
|
||
$.ajax({
|
||
method:'GET',
|
||
url: api_url + '/api/harga_emas',
|
||
success:function(data){
|
||
$.each(data,function(index,harga_emas){
|
||
var text = harga_emas['karat']+' - '+harga_emas['keterangan'];
|
||
$("#karat").append(new Option(text, harga_emas['karat']));
|
||
})
|
||
}
|
||
});
|
||
});
|
||
|
||
function getMarhun(norujukan){
|
||
$.ajax({
|
||
method:'GET',
|
||
url: api_url + '/api/marhun/'+norujukan,
|
||
success:function(data){
|
||
marhuntable(data);
|
||
}
|
||
});
|
||
}
|
||
|
||
let arrayBatuPermata = [
|
||
'DNR',
|
||
'SYE',
|
||
'WFR',
|
||
'G/B',
|
||
];
|
||
|
||
$('#marhun').change(function(){
|
||
var marhun = this.value;
|
||
|
||
if (!arrayBatuPermata.includes(marhun)) {
|
||
$("#col_right").css("display", "block");
|
||
} else {
|
||
$("#col_right").css("display", "none");
|
||
$('#tagpermata').prop('checked', false);
|
||
$("#divanggaran").css("visibility", "hidden");
|
||
$('#beratpermata').val("");
|
||
}
|
||
|
||
var marh = $(this).find(':selected').val();
|
||
|
||
$('#kuantiti').val('');
|
||
|
||
$('#karat').val('');
|
||
if(marh == 'G/B' || marh == 'WFR' || marh == 'SYE' || marh == 'DNR'){
|
||
if(marh == 'DNR' || marh == 'SYE'){
|
||
$('#karat option').show();
|
||
$('#karat option').not('[value="21.0K"]').not('[value="22.0K"]').not('[value="23.0K"]').not('[value="24.0K"]').not('[value="24.0Kgb"]').not(':first').hide();
|
||
}else{
|
||
$('#karat option').show();
|
||
$('#karat option').not('[value="21.0K"]').not('[value="22.0K"]').not('[value="23.0K"]').not('[value="24.0K"]').not('[value="24.0Kgb"]').not(':first').hide();
|
||
}
|
||
|
||
$('#text-berat').html('Berat Keseluruhan');
|
||
$('#kuantiti').attr('disabled', false);
|
||
}else{
|
||
$('#karat option').show();
|
||
$('#text-berat').html('Berat');
|
||
$('#kuantiti').attr('disabled', true);
|
||
}
|
||
|
||
});
|
||
|
||
$('#tagpermata').change(function () {
|
||
if($('#tagpermata').is(':checked')) {
|
||
$("#divanggaran").css("visibility", "visible");
|
||
} else {
|
||
$("#divanggaran").css("visibility", "hidden");
|
||
$('#beratpermata').val("");
|
||
}
|
||
});
|
||
|
||
$('#tagpermataedit').change(function () {
|
||
if($('#tagpermataedit').is(':checked')) {
|
||
$(".div_anggaran_edit").css("display", "block");
|
||
} else {
|
||
$(".div_anggaran_edit").css("display", "none");
|
||
$('#beratpermataedit').val("");
|
||
}
|
||
});
|
||
|
||
$('#marhun_edit').change(function(){
|
||
var marhun = this.value;
|
||
|
||
if (!arrayBatuPermata.includes(marhun)) {
|
||
$(".col_edit_permata").css("display", "block");
|
||
} else {
|
||
$(".col_edit_permata").css("display", "none");
|
||
$('#tagpermataedit').prop('checked', false);
|
||
$(".div_anggaran_edit").css("display", "none");
|
||
$('#beratpermataedit').val("");
|
||
}
|
||
|
||
if(marhun == 'G/B' || marhun == 'WFR' || marhun == 'SYE' || marhun == 'DNR'){
|
||
if(marhun == 'DNR' || marhun == 'SYE'){
|
||
$('#sltkarat option').show();
|
||
$('#sltkarat option').not('[value="21.0K"]').not('[value="22.0K"]').not('[value="23.0K"]').not('[value="24.0K"]').not('[value="24.0Kgb"]').not(':first').hide();
|
||
}else{
|
||
$('#sltkarat option').show();
|
||
$('#sltkarat option').not('[value="21.0K"]').not('[value="22.0K"]').not('[value="23.0K"]').not('[value="24.0K"]').not('[value="24.0Kgb"]').not(':first').hide();
|
||
}
|
||
|
||
$('#text-berat').html('Berat Keseluruhan');
|
||
$('#kuantiti_edit').attr('disabled', false);
|
||
}else{
|
||
$('#kuantiti_edit').val(1);
|
||
$('#sltkarat option').show();
|
||
$('#text-berat').html('Berat');
|
||
$('#kuantiti_edit').attr('disabled', true);
|
||
}
|
||
});
|
||
|
||
$('#karat').change(function(){
|
||
var karat = this.value;
|
||
karat = karat.replace(/\./g,'-');
|
||
var berat = $('#berat_emas').val();
|
||
getHargaEmas(karat,berat)
|
||
});
|
||
|
||
$('#berat_emas').on('input',function(){
|
||
var berat = this.value;
|
||
var karat = $('#karat').val();
|
||
karat = karat.replace(/\./g,'-');
|
||
getHargaEmas(karat,berat);
|
||
})
|
||
|
||
$('#batal_marhun').click(function(){
|
||
|
||
$('#nota').val('').trigger("change");
|
||
$('#tagpermata').prop("checked", false);
|
||
$("#col_right").css("display", "none");
|
||
$("#divanggaran").css("visibility", "hidden");
|
||
$('#beratpermata').val("");
|
||
$('#marhun').val(0);
|
||
$('#karat').val(0);
|
||
$('#berat_emas').val("");
|
||
$('#harga').val("");
|
||
$('#nilai_marhun').val("");
|
||
$('#daftar_marhun').modal('hide');
|
||
})
|
||
|
||
function getHargaEmas(karat,berat){
|
||
$.ajax({
|
||
method:'GET',
|
||
url: api_url + '/api/harga_emas/'+karat,
|
||
success:function(data){
|
||
var nilai_marhun = data['harga'] * berat;
|
||
$('#harga').val(data['harga']);
|
||
$('#nilai_marhun').val(formatter.format(nilai_marhun));
|
||
}
|
||
})
|
||
}
|
||
|
||
var tablemarhun = $('#myTable').DataTable({
|
||
"ordering": false,
|
||
"columnDefs": [{
|
||
"targets": [1],
|
||
"visible": false,
|
||
"searchable": false
|
||
},
|
||
{
|
||
"targets": [7],
|
||
"visible": true,
|
||
"searchable": false
|
||
}
|
||
],
|
||
"language": {
|
||
"lengthMenu": "Papar _MENU_ rekod setiap halaman",
|
||
"zeroRecords": "Tiada rekod dijumpai",
|
||
"info": "Memapar halaman _PAGE_ dari _PAGES_",
|
||
"infoEmpty": "Tiada rekod tersedia",
|
||
"infoFiltered": "(ditapis dari _MAX_ jumlah rekod)",
|
||
"search": "Cari:",
|
||
"paginate": {
|
||
"first": "Pertama",
|
||
"last": "Akhir",
|
||
"next": "Seterusnya",
|
||
"previous": "Sebelumnya"
|
||
}
|
||
},
|
||
});
|
||
|
||
$(".select2").select2({
|
||
dropdownParent: $('#daftar_marhun'),
|
||
tags: true,
|
||
tokenSeparators: [',', ' '],
|
||
allowClear: true,
|
||
closeOnSelect: false
|
||
});
|
||
|
||
$(".select2_daftar_batu_permata").select2({
|
||
dropdownParent: $('#daftar_marhun'),
|
||
tags: true,
|
||
tokenSeparators: [',', ' '],
|
||
allowClear: true,
|
||
closeOnSelect: false
|
||
});
|
||
|
||
$(".select2_nota").select2({
|
||
dropdownParent: $('#editMarhunModal'),
|
||
tags: true,
|
||
tokenSeparators: [',', ' '],
|
||
allowClear: true,
|
||
closeOnSelect: false
|
||
});
|
||
|
||
$('#nota_edit').select2({
|
||
tags: true,
|
||
placeholder: "Select or add options",
|
||
width: 'resolve'
|
||
});
|
||
|
||
$(".select2_batupermata").select2({
|
||
dropdownParent: $('#editMarhunModal'),
|
||
tags: true,
|
||
tokenSeparators: [',', ' '],
|
||
allowClear: true,
|
||
closeOnSelect: false
|
||
});
|
||
|
||
var total_nilai_marhun = 0;
|
||
var total_berat = 0;
|
||
var total_kuantiti = 0;
|
||
var kadarupah = 0;
|
||
var jumlah_marhun = 0;
|
||
var jumlah_nilai_marhun = 0;
|
||
var pinjaman_pelulus = 0;
|
||
var pinjaman_teller = 0;
|
||
|
||
function marhuntable(data) {
|
||
var counter = 1;
|
||
total_nilai_marhun = 0;
|
||
total_berat = 0;
|
||
total_kuantiti = 0;
|
||
var marhun_details = '';
|
||
var array_mutu = [];
|
||
jumlah_nilai_marhun = 0;
|
||
tablemarhun.clear().draw();
|
||
$.each(data, function(index, marhun) {
|
||
$.each(marhun, function(index, marhun_detail) {
|
||
total_nilai_marhun = total_nilai_marhun + Number(marhun_detail['n_marhun']);
|
||
total_berat = total_berat + Number(marhun_detail['berat']);
|
||
marhun_details = marhun_details + marhun_detail['bil'] + " " + marhun_detail['marhun'] + ",";
|
||
jumlah_nilai_marhun += Number(marhun_detail['n_marhun']);
|
||
status_tag_permata = marhun_detail['tag_permata'] == 1 ? 'Ada' : '';
|
||
total_kuantiti += Number(marhun_detail['bil']);
|
||
array_mutu.push([marhun_detail['karat'], marhun_detail['n_marhun']]);
|
||
tablemarhun.row.add([
|
||
counter,
|
||
marhun_detail['recno'],
|
||
marhun_detail['marhun'],
|
||
formatter.format(marhun_detail['n_marhun']),
|
||
marhun_detail['karat'],
|
||
formatter.format(marhun_detail['berat']),
|
||
marhun_detail['bil'],
|
||
marhun_detail['nota'],
|
||
marhun_detail['harga'],
|
||
status_tag_permata,
|
||
marhun_detail['berat_batu_permata'],
|
||
"<div class='buttonpunya text-center'><button onclick='editmarhun(this)' class='btn btn-primary'><i class='fas fa-edit'></i></button> <button onclick='deletemarhun(this)' class='btn btn-danger'><i class='fas fa-trash-alt'></i></button></div>"
|
||
]).draw();
|
||
counter = counter + 1;
|
||
});
|
||
});
|
||
$('#totalberattable').text(formatter.format(total_berat));
|
||
$('#totalkuantititable').text(total_kuantiti);
|
||
$('#totalnilaimarhuntable').text(formatter.format(jumlah_nilai_marhun));
|
||
$('#bilangan_marhun').val(formatter.format(counter - 1));
|
||
$('#bilangan_jumlah_kuantiti').val(formatter.format(total_kuantiti));
|
||
$('#jumlah_nilai_marhun').val(formatter.format(jumlah_nilai_marhun));
|
||
|
||
|
||
$.ajax({
|
||
method:'GET',
|
||
url: api_url + '/api/kadarujrah',
|
||
async:false,
|
||
data:{
|
||
'nokp': $('#nokp').val(),
|
||
'nilaimarhun' : total_nilai_marhun,
|
||
'kodcaw' : kodcaw_ujrah
|
||
},
|
||
success:function(data){
|
||
kadarupah = data;
|
||
}
|
||
});
|
||
|
||
$('#total_nilai_marhun').val(formatter.format(total_nilai_marhun));
|
||
$('#marhun_detail').val(marhun_details);
|
||
$('#total_berat').val(formatter.format(total_berat));
|
||
$('#kadarkeuntungan').val(formatter.format(kadarupah));
|
||
$('#kuantiti_marhun').val(formatter.format(jumlah_marhun));
|
||
|
||
var max_teller = 0;
|
||
var max_pelulus = 0;
|
||
|
||
$.ajax({
|
||
method: 'GET',
|
||
url: api_url + '/api/maxpinjaman',
|
||
data: {
|
||
'mutu': array_mutu,
|
||
'total_nilai_marhun': total_nilai_marhun,
|
||
},
|
||
success: function(data) {
|
||
$.each(data, function(index, pinjaman) {
|
||
if (pinjaman['user_type'] == 'teller') {
|
||
pinjaman_teller = Number(pinjaman['max']);
|
||
max_teller = pinjaman['teller_pinjaman'];
|
||
}
|
||
if (pinjaman['user_type'] == 'khazanah') {
|
||
pinjaman_pelulus = Number(pinjaman['max']);
|
||
max_pelulus = pinjaman['pc_pinjaman'];
|
||
}
|
||
});
|
||
$('.span-pinjaman-max-pelulus').text(formatter.format(pinjaman_pelulus) + ' %');
|
||
$('.span-pinjaman-max').text(formatter.format(pinjaman_teller) + ' %');
|
||
$('#pembiayaan_max_teller').val(formatter.format(max_teller));
|
||
$('#pembiyaan_max_pelulus').val(formatter.format(max_pelulus));
|
||
}
|
||
});
|
||
}
|
||
|
||
$('#pinjaman').on('input',function(){
|
||
var pinjaman = Number(this.value);
|
||
var nilaimarhun = Number($('#jumlah_nilai_marhun').val());
|
||
var nokp = $('#nokp').val();
|
||
//console.log('DEBUG NOKP:', nokp, kadarupah);
|
||
|
||
toggleCaraTerima(pinjaman);
|
||
|
||
// var keuntungan_sebulan = pinjaman * kadarupah;
|
||
// var keuntungan_6bln = keuntungan_sebulan * 6;
|
||
|
||
percent_pinjaman = (Number(pinjaman)/Number(total_nilai_marhun))*100;
|
||
|
||
let array_keuntungan = [];
|
||
|
||
$.ajax({
|
||
method:'POST',
|
||
url: api_url + '/api/onepercent',
|
||
async:false,
|
||
data:{
|
||
'nokp': nokp,
|
||
'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);
|
||
|
||
$('.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)));
|
||
|
||
});
|
||
|
||
const formatter = new Intl.NumberFormat('en-US', {
|
||
minimumFractionDigits: 2
|
||
});
|
||
|
||
$('#terima_marhun').click(function(){
|
||
$("#tambah_marhun").prop('disabled', true);
|
||
$("#terima_marhun").prop('disabled', true);
|
||
var kodcaw = $('#kodcaw').val();
|
||
var norujukan = $('#norujukan').val();
|
||
var marhun = $('#marhun').val();
|
||
var karat = $('#karat').val();
|
||
var berat_emas = $('#berat_emas').val();
|
||
var harga = $('#harga').val();
|
||
var nilaimarhun = $('#nilai_marhun').val();
|
||
var bilangan_marhun_daftar = Number($('#bilangan_marhun').val());
|
||
var nilai_marhun = Number(nilaimarhun.replace(/[^0-9.-]+/g,""));
|
||
var nota_array = $('#nota').val();
|
||
var berat_permata = $('#beratpermata').val();
|
||
var tag_permata = $('input[id=tagpermata]').is(':checked') ? 1 : 0;
|
||
var kuantiti = $('#kuantiti').val();
|
||
|
||
if(kuantiti > 10)
|
||
{
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Kuantiti tidak boleh melebihi 10'
|
||
});
|
||
|
||
event.preventDefault();
|
||
return false;
|
||
}
|
||
|
||
if(nota_array != null){
|
||
var nota = nota_array.toString();
|
||
}else{
|
||
var nota = '';
|
||
}
|
||
|
||
if(marhun == null && karat == null && berat_emas == ''){
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
$('#daftar_marhun').modal('hide');
|
||
}
|
||
else{
|
||
if(marhun == null){
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Pilih Marhun'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}else{
|
||
if(karat == null){
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Pilih Karat'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}else{
|
||
if($.isNumeric(berat_emas) == false){
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Masukkan Berat Marhun'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}else{
|
||
var resultValidation = validateBatuPermata(tag_permata, berat_permata);
|
||
if(resultValidation == false) {
|
||
return false;
|
||
}
|
||
|
||
if(bilangan_marhun_daftar<10){
|
||
//new added 190624 filter if gadaian already exist pinjaman not null
|
||
$.ajax({
|
||
method:'get',
|
||
url: api_url + '/api/gadai/norujukan/' + kodcaw + '/' + norujukan,
|
||
|
||
success:function(data)
|
||
{
|
||
var checking = Object.keys(data[0]).length;
|
||
|
||
if (data[0]['pinjaman'] > 0) {
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Tidak Berjaya',
|
||
text: 'Maklumat Pembiayaan Telah Wujud. Sila Tekan Batal.'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
|
||
} else {
|
||
$.ajax({
|
||
method:'POST',
|
||
url: api_url + '/api/marhun/'+kodcaw,
|
||
dataType:'json',
|
||
data: {
|
||
'norujukan': norujukan,
|
||
'marhun' : marhun,
|
||
'nota':nota,
|
||
'tag_permata':tag_permata,
|
||
'berat_batu_permata':berat_permata,
|
||
'karat' : karat,
|
||
'berat_emas' :berat_emas,
|
||
'harga' : harga,
|
||
'nilai_marhun' : nilai_marhun,
|
||
'teller' : "{{ Auth::user()->name }}",
|
||
'kuantiti' : (kuantiti) ? kuantiti : 1
|
||
},
|
||
success:function(data){
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
$('#nota').val('').trigger("change");
|
||
$('#beratpermata').val("");
|
||
$('#marhun').val(0);
|
||
$('#karat').val(0);
|
||
$('#berat_emas').val("");
|
||
$('#harga').val("");
|
||
$('#nilai_marhun').val("");
|
||
$('#daftar_marhun').modal('hide');
|
||
$("#col_right").css("display", "none");
|
||
$('#tagpermata').prop('checked', false);
|
||
$('#beratpermata').val("");
|
||
$("#divanggaran").css("visibility", "hidden");
|
||
|
||
$('#kuantiti').val("");
|
||
$('#kuantiti').attr('disabled', true);
|
||
|
||
jumlah_marhun += 1;
|
||
jumlah_nilai_marhun += Number(nilai_marhun);
|
||
$('#bilangan_marhun').val(formatter.format(jumlah_marhun));
|
||
$('#jumlah_nilai_marhun').val(formatter.format(jumlah_nilai_marhun));
|
||
getMarhun(norujukan);
|
||
},
|
||
error: function(xhRequest, ErrorText, thrownError){
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Tambah Marhun Tidak Berjaya'
|
||
});
|
||
console.log(xhRequest);
|
||
}
|
||
});
|
||
|
||
}
|
||
}
|
||
});
|
||
//end new added 190624
|
||
|
||
}else{
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Hanya 10 Marhun dibenarkan dalam 1 SAG'
|
||
});
|
||
$('#daftar_marhun').modal('hide');
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
|
||
$('#tambah_marhun').click(function(){
|
||
$("#tambah_marhun").prop('disabled', true);
|
||
$("#terima_marhun").prop('disabled', true);
|
||
var kodcaw = $('#kodcaw').val();
|
||
var norujukan = $('#norujukan').val();
|
||
var marhun = $('#marhun').val();
|
||
var karat = $('#karat').val();
|
||
var berat_emas = $('#berat_emas').val();
|
||
var harga = $('#harga').val();
|
||
var nilaimarhun = $('#nilai_marhun').val();
|
||
var bilangan_marhun_daftar = Number($('#bilangan_marhun').val());
|
||
var nilai_marhun = Number(nilaimarhun.replace(/[^0-9.-]+/g,""));
|
||
var nota_array = $('#nota').val();
|
||
var batu_permata_array = $('#batupermata').val();
|
||
var tag_permata = $('input[id=tagpermata]').is(':checked') ? 1 : 0;
|
||
|
||
var beratpermata = $('#beratpermata').val();
|
||
var kuantiti = $('#kuantiti').val();
|
||
|
||
|
||
if(kuantiti > 10)
|
||
{
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Kuantiti tidak boleh melebihi 10'
|
||
});
|
||
|
||
event.preventDefault();
|
||
return false;
|
||
}
|
||
|
||
if(nota_array != null){
|
||
var nota = nota_array.toString();
|
||
}else{
|
||
var nota = '';
|
||
}
|
||
|
||
if(marhun == null){
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Pilih Marhun'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}else{
|
||
if(karat == null){
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Pilih Karat'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}else{
|
||
if($.isNumeric(berat_emas) == false){
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Masukkan Berat Marhun'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}else{
|
||
var resultValidation = validateBatuPermata(tag_permata, beratpermata);
|
||
if(resultValidation == false) {
|
||
return false;
|
||
}
|
||
|
||
if(bilangan_marhun_daftar < 10){
|
||
//new added 190624 filter if gadaian already registered pinjaman > 0
|
||
$.ajax({
|
||
method:'get',
|
||
url: api_url + '/api/gadai/norujukan/' + kodcaw + '/' + norujukan,
|
||
|
||
success:function(data)
|
||
{
|
||
var checking = Object.keys(data[0]).length;
|
||
|
||
if (data[0]['pinjaman'] > 0) {
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Tidak Berjaya',
|
||
text: 'Maklumat Pembiayaan Telah Wujud. Sila Tekan Batal.'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
|
||
} else {
|
||
$.ajax({
|
||
method:'POST',
|
||
url: api_url + '/api/marhun/'+kodcaw,
|
||
dataType:'json',
|
||
data: {
|
||
'norujukan': norujukan,
|
||
'marhun' : marhun,
|
||
'nota':nota,
|
||
'tag_permata':tag_permata,
|
||
'berat_batu_permata':beratpermata,
|
||
'karat' : karat,
|
||
'berat_emas' :berat_emas,
|
||
'harga' : harga,
|
||
'nilai_marhun' : nilai_marhun,
|
||
'teller' : "{{ Auth::user()->name }}",
|
||
'kuantiti' : (kuantiti) ? kuantiti : 1
|
||
|
||
},
|
||
success:function(data){
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
$('#nota').val('').trigger("change");
|
||
$('#batupermata').val('').trigger("change");
|
||
$('#beratpermata').val("");
|
||
$('#marhun').val(0);
|
||
$('#karat').val(0);
|
||
$('#berat_emas').val("");
|
||
$('#harga').val("");
|
||
$('#nilai_marhun').val("");
|
||
|
||
$('#kuantiti').val("");
|
||
$('#kuantiti').attr('disabled', true);
|
||
|
||
$("#col_right").css("display", "none");
|
||
$('#tagpermata').prop('checked', false);
|
||
$('#beratpermata').val("");
|
||
$("#divanggaran").css("visibility", "hidden");
|
||
|
||
jumlah_marhun += 1;
|
||
jumlah_nilai_marhun += Number(nilai_marhun);
|
||
$('#bilangan_marhun').val(formatter.format(jumlah_marhun));
|
||
$('#jumlah_nilai_marhun').val(formatter.format(jumlah_nilai_marhun));
|
||
getMarhun(norujukan);
|
||
},
|
||
error: function(xhRequest, ErrorText, thrownError){
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Tambah Marhun Tidak Berjaya'
|
||
});
|
||
console.log(xhRequest);
|
||
}
|
||
});
|
||
|
||
}
|
||
}
|
||
});
|
||
//end new added 190624
|
||
|
||
}else{
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Hanya 10 Marhun dibenarkan dalam 1 SAG'
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
|
||
function validateBatuPermata(tag, berat) {
|
||
function countDecimalPlaces(value) {
|
||
const match = value.match(/(?:\.(\d+))?$/);
|
||
if (!match || !match[1]) {
|
||
return 0;
|
||
}
|
||
return match[1].length;
|
||
}
|
||
|
||
function validateInput(inputValue) {
|
||
const decimalPlaces = countDecimalPlaces(inputValue);
|
||
return decimalPlaces <= 2;
|
||
}
|
||
|
||
if(tag == 1) {
|
||
if(berat == '') {
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Isi Anggaran Berat Permata'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
} else if($.isNumeric(berat) == false) {
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Semak Semula Berat Permata'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
} else if(berat <= 0) {
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Nilai berat permata mesti lebih besar daripada ' + berat,
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
} else if(!validateInput(berat)) {
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Hanya 2 titik perpuluhan dibenarkan untuk berat batu permata'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
} else {
|
||
return true;
|
||
}
|
||
} else if(berat != '') {
|
||
if($.isNumeric(berat) == false) {
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Semak Semula Berat Permata'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}
|
||
|
||
if(berat <= 0) {
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Nilai berat permata mesti lebih besar daripada ' + berat,
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}
|
||
|
||
if(!validateInput(berat)) {
|
||
$("#tambah_marhun").prop('disabled', false);
|
||
$("#terima_marhun").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Hanya 2 titik perpuluhan dibenarkan untuk berat batu permata'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}
|
||
} else {
|
||
return true;
|
||
}
|
||
}
|
||
|
||
function getDataCawangan(){
|
||
|
||
let header = {
|
||
'pragma': 'no-cache',
|
||
'cache-control': 'no-store',
|
||
};
|
||
|
||
let kodcaw = $('#kodcaw').val();
|
||
let teller = "{{ Auth::user()->name }}";
|
||
let apiUrl = api_url + '/api/GetCurrentTunai/' + kodcaw + '?kodlaluan=' + teller;
|
||
|
||
return fetch(apiUrl, {
|
||
header: header,
|
||
})
|
||
.then(response => response.json());
|
||
}
|
||
|
||
function toggleCaraTerima(pinjaman) {
|
||
if (pinjaman >= 5000 && pinjaman <= 50000) {
|
||
$('#cara_terima_section').show();
|
||
toggleBankOnlineSection();
|
||
} else {
|
||
$('#cara_terima_section').hide();
|
||
$('#bank_online_section').hide();
|
||
$('#cara_terima_tunai').prop('checked', true);
|
||
}
|
||
}
|
||
|
||
function toggleBankOnlineSection() {
|
||
if ($('input[name="cara_terima"]:checked').val() === 'ONLINE') {
|
||
$('#bank_online_section').show();
|
||
var nama = $('#gadai_kodbank option:selected').data('nama') || '';
|
||
$('#gadai_nama_bank').val(nama);
|
||
refreshModalOnlineStatus();
|
||
} else {
|
||
$('#bank_online_section').hide();
|
||
}
|
||
}
|
||
|
||
$(document).on('change', 'input[name="cara_terima"]', function () {
|
||
toggleBankOnlineSection();
|
||
});
|
||
|
||
$(document).on('change', '#gadai_kodbank', function () {
|
||
$('#gadai_nama_bank').val($('#gadai_kodbank option:selected').data('nama') || '');
|
||
});
|
||
|
||
async function getModalOnline() {
|
||
let kodcaw = $('#kodcaw').val();
|
||
let apiUrl = api_url + '/api/modal-online/' + kodcaw;
|
||
return $.ajax({
|
||
method: 'GET',
|
||
url: apiUrl,
|
||
dataType: 'json',
|
||
});
|
||
}
|
||
|
||
async function refreshModalOnlineStatus() {
|
||
var $el = $('#modal_online_status');
|
||
$el.removeClass('text-success text-danger text-warning text-muted').addClass('text-muted').text('Memeriksa baki...');
|
||
try {
|
||
var modal = await getModalOnline();
|
||
var pending = modal.pending_request || null;
|
||
var closed = Number(modal.ditutup || 0) === 1;
|
||
var missing = !!modal.missing;
|
||
var baki = Number(modal.baki || 0);
|
||
var had = Number(modal.had || 0) + Number(modal.tambah || 0);
|
||
|
||
if (closed) {
|
||
$el.removeClass('text-muted').addClass('text-danger')
|
||
.text('Modal online hari ini sudah ditutup (EOD). Gadai online tidak dibenarkan.');
|
||
return modal;
|
||
}
|
||
|
||
if (pending) {
|
||
$el.removeClass('text-muted').addClass('text-warning')
|
||
.text('Menunggu kelulusan Operasi: RM ' + formatter.format(Number(pending.amaun || 0)) +
|
||
' (' + (pending.dimohon_oleh || '-') + ').');
|
||
} else if (missing) {
|
||
$el.removeClass('text-muted').addClass('text-danger')
|
||
.text('Belum ada had hari ini. Sila hubungi PC.');
|
||
} else {
|
||
$el.removeClass('text-muted').addClass('text-success')
|
||
.text('Baki RM ' + formatter.format(baki) + ' / Had RM ' + formatter.format(had));
|
||
}
|
||
return modal;
|
||
} catch (e) {
|
||
$el.removeClass('text-muted').addClass('text-danger').text('Gagal semak modal online.');
|
||
return null;
|
||
}
|
||
}
|
||
|
||
async function checkDisbursementFloat(pinjaman) {
|
||
var cara = $('input[name="cara_terima"]:checked').val() || 'TUNAI';
|
||
if (!(pinjaman >= 5000 && pinjaman <= 50000)) {
|
||
cara = 'TUNAI';
|
||
}
|
||
|
||
if (cara === 'ONLINE') {
|
||
var kodbank = $('#gadai_kodbank').val();
|
||
var noakaun = ($('#gadai_noakaun').val() || '').trim();
|
||
$('#gadai_nama_bank').val($('#gadai_kodbank option:selected').data('nama') || '');
|
||
if (!kodbank || !noakaun) {
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila lengkapkan maklumat bank untuk pembayaran online.'
|
||
});
|
||
return false;
|
||
}
|
||
|
||
var modal;
|
||
try {
|
||
modal = await getModalOnline();
|
||
} catch (e) {
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Gagal semak modal online. Sila cuba lagi.'
|
||
});
|
||
return false;
|
||
}
|
||
|
||
if (Number(modal.ditutup || 0) === 1) {
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Modal online hari ini sudah ditutup (EOD). Sila pilih Tunai.'
|
||
});
|
||
return false;
|
||
}
|
||
|
||
if (modal.pending_request) {
|
||
Swal.fire({
|
||
icon: 'info',
|
||
title: 'Menunggu Operasi',
|
||
text: 'Permohonan RM ' + formatter.format(Number(modal.pending_request.amaun || 0)) +
|
||
' masih PENDING. Sila tunggu kelulusan Operasi atau pilih Tunai.'
|
||
});
|
||
return false;
|
||
}
|
||
|
||
if (modal.missing) {
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Belum ada had modal online hari ini. Sila hubungi PC.'
|
||
});
|
||
return false;
|
||
}
|
||
|
||
if (Number(modal.baki || 0) < pinjaman) {
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Baki modal online tidak mencukupi. Sila hubungi PC untuk mohon tambah modal, atau pilih Tunai.'
|
||
});
|
||
return false;
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
let dataCawangan = await getDataCawangan();
|
||
let bakiAkhir = dataCawangan.baki;
|
||
if (bakiAkhir < pinjaman) {
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Baki Akhir Tunai Lebih Rendah Daripada Nilai Marhun Yang Ingin Digadaikan. Sila Tambah Pendahuluan di Laman Aliran Tunai Segera. '
|
||
});
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
|
||
async function verifyGadai(func){
|
||
$("#terima_gadai").prop('disabled', true);
|
||
if (typeof event !== 'undefined' && event && event.preventDefault) {
|
||
event.preventDefault();
|
||
}
|
||
var kodcaw = $('#kodcaw').val();
|
||
var nokp = $('#nokp').val();
|
||
var nopelanggan = $('#nopelanggan').val();
|
||
var norujukan = $('#norujukan').val();
|
||
var pinjaman = Number($('#pinjaman').val());
|
||
var total_nilai_marhun = $('#total_nilai_marhun').val();
|
||
var nilai_marhun_total = Number(total_nilai_marhun.replace(/[^0-9.-]+/g,""));
|
||
var count_error = 0;
|
||
var pembiayaan_max_teller = $('#pembiayaan_max_teller').val();
|
||
var pembiayaan_max_teller = Number(pembiayaan_max_teller.replace(/[^0-9.-]+/g,""));
|
||
var pembiyaan_max_pelulus = $('#pembiyaan_max_pelulus').val();
|
||
var pembiyaan_max_pelulus = Number(pembiyaan_max_pelulus.replace(/[^0-9.-]+/g,""));
|
||
var min_pinjaman = nilai_marhun_total * 0.10;
|
||
var max_pinjaman = pembiyaan_max_pelulus;
|
||
var outstanding_semasa = Number("{{ $outstanding_semasa }}");
|
||
|
||
let teller = "{{ Auth::user()->name }}";
|
||
let bakiakhir = 0;
|
||
var kodcaw = $('#kodcaw').val();
|
||
if(pinjaman == 0){
|
||
$("#terima_gadai").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Pembiayaan Tidak Lengkap'
|
||
});
|
||
return false;
|
||
}
|
||
|
||
let floatOk = await checkDisbursementFloat(pinjaman);
|
||
if (!floatOk) {
|
||
$("#terima_gadai").prop('disabled', false);
|
||
return false;
|
||
}
|
||
|
||
if(true){
|
||
|
||
if($.isNumeric(pinjaman) == false){
|
||
$("#terima_gadai").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Masukkan Nombor Sahaja'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}
|
||
if(pinjaman < min_pinjaman){
|
||
$("#terima_gadai").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Masukan Pembiayaan, Minimal Pembiayaan ialah RM '+ formatter.format(min_pinjaman)
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}else if(pinjaman > max_pinjaman){
|
||
$("#terima_gadai").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Pinjaman Melebihi Margin Yang Dibenarkan'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}else{
|
||
if(outstanding_semasa+pinjaman >= 300000){
|
||
$("#terima_gadai").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Had Pembiayaan',
|
||
text: 'Outstanding Pembiayaan Pelanggan Telah Melebihi Had'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}else{
|
||
$.ajax({
|
||
method:'get',
|
||
url: api_url + '/api/komuditi/check',
|
||
success:function(data){
|
||
var check_komuditi = Object.keys(data).length;
|
||
if(check_komuditi == 0){
|
||
$("#terima_gadai").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Unit Komuditi Berbaki Minumum',
|
||
text: 'Sila Hubungi Operasi Untuk Membuat Pembelian Komuditi'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}else{
|
||
if(Number(data['unit_komuditi']) < pinjaman){
|
||
$("#terima_gadai").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Baki Unit Komuditi Tidak Mencukupi',
|
||
text: 'Sila Hubungi Operasi Untuk Membuat Pembelian Komuditi'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}
|
||
else{
|
||
if(pinjaman >= 10000 && pinjaman <= Number(pembiyaan_max_pelulus)){
|
||
//new added
|
||
$.ajax({
|
||
method:'get',
|
||
url: api_url + '/api/gadai/norujukan/' + kodcaw + '/' + norujukan,
|
||
|
||
success:function(data)
|
||
{
|
||
var checking = Object.keys(data[0]).length;
|
||
|
||
if (data[0]['pinjaman'] > 0) {
|
||
$("#terima_gadai").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Tidak Berjaya',
|
||
text: 'Maklumat Pembiayaan Telah Wujud. Sila Tekan Batal.'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
} else {
|
||
//insert code asal
|
||
const swalWithBootstrapButtons = Swal.mixin({
|
||
customClass: {
|
||
confirmButton: 'btn btn-success',
|
||
cancelButton: 'btn btn-danger'
|
||
},
|
||
buttonsStyling: false
|
||
});
|
||
|
||
if(pinjaman > Number(pembiyaan_max_pelulus)){
|
||
var errortext = "Tetapan margin melebihi " + pinjaman_pelulus + "% untuk Operasi!";
|
||
}
|
||
if(pinjaman >= 10000){
|
||
var errortext = "Pinjaman Melebihi 10,000";
|
||
}
|
||
|
||
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 = $('#norujukan').val();
|
||
let nm = parseFloat($('#total_nilai_marhun').val().replace(/[^0-9.-]+/g,""));let ber = $('#total_berat').val();let marg = $('.span-pinjaman').text();
|
||
let status = errortext;
|
||
let jumpinjam = $('#pinjaman').val();
|
||
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;
|
||
});
|
||
|
||
}
|
||
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 if (result.dismiss === Swal.DismissReason.cancel){
|
||
$("#terima_gadai").prop('disabled', false);
|
||
swalWithBootstrapButtons.fire(
|
||
'Batal',
|
||
'Maklumat Pembiayaan Tidak Berjaya Disimpan',
|
||
'error'
|
||
)
|
||
}
|
||
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
//end insert code asal
|
||
}
|
||
|
||
}
|
||
});
|
||
//end new added
|
||
|
||
}else if(pinjaman > Number(pembiayaan_max_teller)){
|
||
//new added
|
||
$.ajax({
|
||
method:'get',
|
||
url: api_url + '/api/gadai/norujukan/' + kodcaw + '/' + norujukan,
|
||
|
||
success:function(data)
|
||
{
|
||
var checking = Object.keys(data[0]).length;
|
||
|
||
if (data[0]['pinjaman'] > 0) {
|
||
$("#terima_gadai").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Tidak Berjaya',
|
||
text: 'Maklumat Pembiayaan Telah Wujud. Sila Tekan Batal.'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
} else {
|
||
//insert code asal
|
||
const swalWithBootstrapButtons = Swal.mixin({
|
||
customClass: {
|
||
confirmButton: 'btn btn-success',
|
||
cancelButton: 'btn btn-danger'
|
||
},
|
||
buttonsStyling: false
|
||
});
|
||
|
||
swalWithBootstrapButtons.fire({
|
||
title: 'Dapatkan Pengesahan Khazanah',
|
||
text: "Tetapan Margin Melebihi Limit Maksima Teller!",
|
||
icon: 'info',
|
||
showCancelButton: true,
|
||
confirmButtonText: 'Hantar',
|
||
cancelButtonText: 'Batal',
|
||
reverseButtons: true
|
||
}).then((result) => {
|
||
if (result.isConfirmed) {
|
||
|
||
let norujukan = $('#norujukan').val();
|
||
let nm = parseFloat($('#total_nilai_marhun').val().replace(/[^0-9.-]+/g, ""));
|
||
let ber = $('#total_berat').val();
|
||
let marg = $('.span-pinjaman').text();
|
||
let status = "Tetapan Margin Melebihi Limit Maksima Teller: " + pinjaman_teller + "%";
|
||
let jumpinjam = $('#pinjaman').val();
|
||
let teller = "{{ Auth::user()->name }}";
|
||
|
||
Swal.fire({
|
||
title: 'Tunggu Pengesahan Daripada Khazanah.',
|
||
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('khazanah.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);
|
||
}
|
||
});
|
||
|
||
//Try Pusher
|
||
|
||
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
|
||
cluster: 'ap1',
|
||
encrypted: true
|
||
});
|
||
|
||
var channel = pusher.subscribe('notice-kelulusan');
|
||
channel.bind('my-kelulusan', function(data) {
|
||
// let message = JSON.stringify(data);
|
||
|
||
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
|
||
{
|
||
if(data.kelulusan == 'lulus')
|
||
{
|
||
Swal.fire({
|
||
icon: 'success',
|
||
title: 'Telah Disahkan'
|
||
}).then(function(){
|
||
|
||
|
||
$(func).attr("onSubmit","return true;");
|
||
$(func).submit();
|
||
return true;
|
||
|
||
});
|
||
}
|
||
else if(data.kelulusan == 'batal')
|
||
{
|
||
Swal.fire({
|
||
icon: 'warning',
|
||
title: 'Telah Dibatalkan'
|
||
}).then(function(){
|
||
$("#terima_gadai").prop('disabled', false);
|
||
return false;
|
||
});
|
||
}
|
||
}
|
||
|
||
|
||
|
||
});
|
||
|
||
|
||
|
||
} else if (result.dismiss === Swal.DismissReason.cancel) {
|
||
$("#terima_gadai").prop('disabled', false);
|
||
swalWithBootstrapButtons.fire(
|
||
'Batal',
|
||
'Maklumat Pembiayaan Tidak Berjaya Disimpan',
|
||
'error'
|
||
)
|
||
}
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
//end insert code asal
|
||
}
|
||
|
||
}
|
||
});
|
||
//end new added
|
||
|
||
}
|
||
else if( pinjaman < 10000 && pinjaman <= Number(pembiayaan_max_teller)){
|
||
//new added
|
||
$.ajax({
|
||
method:'get',
|
||
url: api_url + '/api/gadai/norujukan/' + kodcaw + '/' + norujukan,
|
||
|
||
success:function(data)
|
||
{
|
||
var checking = Object.keys(data[0]).length;
|
||
|
||
if (data[0]['pinjaman'] > 0) {
|
||
$("#terima_gadai").prop('disabled', false);
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Tidak Berjaya',
|
||
text: 'Maklumat Pembiayaan Telah Wujud. Sila Tekan Batal.'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
} else {
|
||
//insert code asal
|
||
Swal.fire({
|
||
icon: 'success',
|
||
title: 'Berjaya!',
|
||
text: 'Pembiayaan Berjaya Disimpan'
|
||
});
|
||
|
||
$(func).attr("onSubmit","return true;");
|
||
$(func).submit();
|
||
return true;
|
||
//end insert code asal
|
||
}
|
||
|
||
}
|
||
});
|
||
//end new added
|
||
|
||
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
function deletemarhun(e){
|
||
let marhun = $(e).closest('tr').children('td:eq(1)').text();let selectedrow = $(e).closest('tr');let recnozz = tablemarhun.row(selectedrow).data();
|
||
let norujuk = $('#norujukan').val();
|
||
|
||
$.ajax({
|
||
method: 'put',
|
||
url: '{{ route("gadai.editmarhun") }}',
|
||
data: {
|
||
"_token": "{{ csrf_token() }}",
|
||
"norujukan": norujuk,
|
||
"recno": recnozz[1],
|
||
"teller": "{{ Auth::user()->name }}"
|
||
},
|
||
success: function(data) {
|
||
location.reload();
|
||
},
|
||
error: function(xhr, status, error) {
|
||
var err = eval("(" + xhr.responseText + ")");
|
||
alert(xhr.responseText);
|
||
}
|
||
});
|
||
}
|
||
|
||
function editmarhun(e){
|
||
let norujuk = $('#norujukan').val();
|
||
let selectedrow = $(e).closest('tr');
|
||
let recno = tablemarhun.row(selectedrow).data();
|
||
let nm = recno[3];
|
||
let karat = recno[4];
|
||
let berat = recno[5];
|
||
let harga = recno[8];
|
||
let nota = recno[7];
|
||
let tag_permata_edit = recno[8];
|
||
let beratpermata = recno[10];
|
||
let kuantiti = recno[6];
|
||
let jenismarhun = recno[2];
|
||
var res = nota.split(",");
|
||
|
||
// if(jenismarhun == 'G/B' || jenismarhun == 'WFR' || jenismarhun == 'SYE' || jenismarhun == 'DNR'){
|
||
// $('#kuantiti_modal').attr('disabled', false);
|
||
// $(".div_kuantiti_edit").css("display", "block");
|
||
// $(".div_column_kuantiti_edit").css("display", "block");
|
||
// $('#kuantiti_edit').val(kuantiti);
|
||
// }else{
|
||
// $('#kuantiti_modal').attr('disabled', false);
|
||
// $(".div_kuantiti_edit").css("display", "none");
|
||
// $(".div_column_kuantiti_edit").css("display", "none");
|
||
// $('#kuantiti_edit').val(1);
|
||
// }
|
||
|
||
if (!arrayBatuPermata.includes(jenismarhun)) {
|
||
$(".col_edit_permata").css("display", "block");
|
||
if(beratpermata != null) {
|
||
$('#tagpermataedit').prop('checked', true);
|
||
$(".div_anggaran_edit").css("display", "block");
|
||
$('#beratpermataedit').val(beratpermata);
|
||
} else {
|
||
$('#tagpermataedit').prop('checked', false);
|
||
$(".div_anggaran_edit").css("display", "none");
|
||
$('#beratpermataedit').val("");
|
||
}
|
||
} else {
|
||
$(".col_edit_permata").css("display", "none");
|
||
$('#tagpermataedit').prop('checked', false);
|
||
$(".div_anggaran_edit").css("display", "none");
|
||
$('#beratpermataedit').val("");
|
||
}
|
||
|
||
$.ajax({
|
||
method:'GET',
|
||
url: api_url + '/api/jemas',
|
||
success:function(data){
|
||
$.each(data,function(index,jemas){
|
||
$("#marhun_edit").append(new Option(jemas['descpt'], jemas['marhun']));
|
||
|
||
res.forEach(function(value) {
|
||
if ($('#nota_edit').find("option[value='" + value + "']").length === 0) {
|
||
let newOption = new Option(value, value, true, true);
|
||
$('#nota_edit').append(newOption).trigger('change');
|
||
}
|
||
});
|
||
|
||
$('#nota_edit').val(res).trigger('change');
|
||
|
||
$('#kuantiti_edit').val(kuantiti);
|
||
|
||
$('#sltkarat').val(karat);
|
||
$('#marhun_edit').val(jenismarhun);
|
||
$('#berat_edit').val(berat);
|
||
$('#nilaimarhun_edit').val(nm);
|
||
$('#harga_edit').val(harga);
|
||
$('#norujukedit').val(norujuk);
|
||
$('#recnoedit').val(recno[1]);
|
||
$('#editMarhunModal').modal();
|
||
})
|
||
}
|
||
});
|
||
|
||
|
||
}
|
||
|
||
$('#terima_edit').on('click',function(){
|
||
var nota_edit = $('#nota_edit').val();
|
||
var tagpermata_edit = $('input[id=tagpermataedit]').is(':checked') ? 1 : 0;
|
||
var beratpermata_edit = $('#beratpermataedit').val();
|
||
var norujukedit = $('#norujukedit').val();
|
||
var recnoedit = $('#recnoedit').val();
|
||
var marhun_edit = $('#marhun_edit').val();
|
||
var sltkarat = $('#sltkarat').val();
|
||
var berat_edit = $('#berat_edit').val();
|
||
var harga_edit = $('#harga_edit').val();
|
||
var nilaimarhun_edit = $('#nilaimarhun_edit').val();
|
||
var nilai_marhun_edit = Number(nilaimarhun_edit.replace(/[^0-9.-]+/g,""));
|
||
var kuantiti = $('#kuantiti_edit').val();
|
||
|
||
if(nota_edit != null){
|
||
var nota = nota_edit.toString();
|
||
}else{
|
||
var nota = '';
|
||
}
|
||
|
||
if(kuantiti > 10)
|
||
{
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Kuantiti tidak boleh melebihi 10'
|
||
});
|
||
|
||
event.preventDefault();
|
||
return false;
|
||
}
|
||
|
||
var resultValidation = validateBatuPermata(tagpermata_edit, beratpermata_edit);
|
||
if(resultValidation == false) {
|
||
return false;
|
||
}
|
||
|
||
if($.isNumeric(berat_edit) == false){
|
||
Swal.fire({
|
||
icon: 'error',
|
||
title: 'Amaran!',
|
||
text: 'Sila Masukkan Berat Marhun'
|
||
});
|
||
event.preventDefault();
|
||
return false;
|
||
}else{
|
||
$.ajax({
|
||
method:'put',
|
||
url: api_url + '/api/gadai/ubah/marhun/' + "{{ $cawangan_info['kodcaw'] }}" + '/' + norujukedit,
|
||
datatype:'json',
|
||
data:{
|
||
'recno' : recnoedit,
|
||
'karat' : sltkarat,
|
||
'berat' : berat_edit,
|
||
'harga' : harga_edit,
|
||
'n_marhun' : nilai_marhun_edit,
|
||
'marhun' : marhun_edit,
|
||
'nota' : nota,
|
||
'tag_permata' : tagpermata_edit,
|
||
'berat_batu_permata' : beratpermata_edit,
|
||
"teller": "{{ Auth::user()->name }}",
|
||
"kuantiti" : (kuantiti) ? kuantiti : 1
|
||
},
|
||
success:function(data){
|
||
getMarhun(norujukedit);
|
||
$('#editMarhunModal').modal('hide');
|
||
}
|
||
})
|
||
}
|
||
|
||
});
|
||
|
||
$("#sltkarat").change(function(e){
|
||
let hargaref = $(this).find(':selected').data('harga');
|
||
let ber = parseFloat($('#berat_edit').val());
|
||
let total = ber * hargaref;
|
||
$('#nilaimarhun_edit').val(formatter.format(total));
|
||
$('#harga_edit').val(hargaref);
|
||
});
|
||
|
||
function calculationharga(e){
|
||
let berat = $(e).val();
|
||
let total = 0;
|
||
let harga = $('#harga_edit').val();
|
||
|
||
total = berat * harga;
|
||
|
||
$('#nilaimarhun_edit').val(formatter.format(total));
|
||
}
|
||
|
||
function validateFloatKeyPress(el, evt) {
|
||
var charCode = (evt.which) ? evt.which : event.keyCode;
|
||
var number = el.value;
|
||
let keypress = evt.key;
|
||
|
||
// Split the current value by dot to check the number of decimal places
|
||
var numberParts = number.split('.');
|
||
|
||
// Check if the pressed key is a valid character for a floating-point number
|
||
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
|
||
return false;
|
||
}
|
||
|
||
// Check if there is already a dot, and the pressed key is another dot
|
||
if (numberParts.length > 1 && charCode == 46) {
|
||
return false;
|
||
}
|
||
|
||
// Get the caret position in the input field
|
||
var caratPos = getSelectionStart(el);
|
||
|
||
// Get the position of the existing dot
|
||
var dotPos = el.value.indexOf(".");
|
||
|
||
// Check if the caret is after the existing dot, and there are more than 2 digits after the dot
|
||
if (caratPos > dotPos && dotPos > -1 && (numberParts[1] && numberParts[1].length > 1)) {
|
||
return false;
|
||
}
|
||
|
||
// If the last digit is not 5 or 0, disallow the input
|
||
if (numberParts[1] && numberParts[1].length === 1 && !['0', '5'].includes(keypress)) {
|
||
return false;
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
function getSelectionStart(o) {
|
||
if (o.createTextRange) {
|
||
var r = document.selection.createRange().duplicate()
|
||
r.moveEnd('character', o.value.length)
|
||
if (r.text == '') return o.value.length
|
||
return o.value.lastIndexOf(r.text)
|
||
} else return o.selectionStart
|
||
}
|
||
|
||
$("#marhun_edit").change(function(e){
|
||
|
||
var marh = $(this).find(':selected').val();
|
||
$('#kuantiti_modal').val('');
|
||
|
||
if(marh == 'G/B' || marh == 'WFR' || marh == 'SYE' || marh == 'DNR'){
|
||
if(marh == 'DNR' || marh == 'SYE'){
|
||
$('#sltkarat option').show();
|
||
$('#sltkarat option').not('[value="21.0K"]').not('[value="22.0K"]').not('[value="23.0K"]').not('[value="24.0K"]').not('[value="24.0Kgb"]').not(':first').hide();
|
||
}else{
|
||
$('#sltkarat option').show();
|
||
$('#sltkarat option').not('[value="21.0K"]').not('[value="22.0K"]').not('[value="23.0K"]').not('[value="24.0K"]').not('[value="24.0Kgb"]').not(':first').hide();
|
||
}
|
||
|
||
$('#text_berat_modal').html('Berat Keseluruhan');
|
||
$('#kuantiti_modal').attr('disabled', false);
|
||
}else{
|
||
$('#text_berat_modal').html('Berat');
|
||
$('#kuantiti_modal').attr('disabled', true);
|
||
}
|
||
});
|
||
|
||
// Toggle Table Functionality
|
||
let isMarginTableVisible = false;
|
||
|
||
$('#toggleTableBtn').on('click', function() {
|
||
if (!isMarginTableVisible) {
|
||
// Check if main table has data before showing margin table
|
||
let tableData = $('#myTable').DataTable().data();
|
||
if (tableData.length === 0) {
|
||
Swal.fire({
|
||
icon: 'warning',
|
||
title: 'Amaran!',
|
||
text: 'Tiada data marhun untuk papar margin. Sila daftar marhun terlebih dahulu.'
|
||
});
|
||
return;
|
||
}
|
||
|
||
// Show margin table, hide main table
|
||
$('#myTable_wrapper').hide();
|
||
$('#marginTable').show();
|
||
$(this).html('<i class="fas fa-exchange-alt"></i> Papar Marhun');
|
||
loadMarginData();
|
||
isMarginTableVisible = true;
|
||
|
||
// Disable Daftar Marhun button when margin table is visible
|
||
$('button[data-target="#daftar_marhun"]').prop('disabled', true);
|
||
} else {
|
||
// Show main table, hide margin table
|
||
$('#marginTable_wrapper').hide();
|
||
$('#myTable_wrapper').show();
|
||
$(this).html('<i class="fas fa-exchange-alt"></i> Papar Margin');
|
||
isMarginTableVisible = false;
|
||
|
||
// Enable Daftar Marhun button when main table is visible
|
||
$('button[data-target="#daftar_marhun"]').prop('disabled', false);
|
||
}
|
||
});
|
||
|
||
function loadMarginData() {
|
||
let marginData = [];
|
||
let totalNilaiMarhun = 0;
|
||
let totalNilaiTeller = 0;
|
||
let totalNilaiPC = 0;
|
||
|
||
// Process each individual row from the main table
|
||
let rowsData = [];
|
||
tablemarhun.rows().data().each(function(row, index) {
|
||
console.log(row);
|
||
let recno = row[1]; // Recno column
|
||
let karat = row[4]; // Karat column
|
||
let nilaiMarhun = parseFloat(row[3].replace(/[^0-9.-]+/g, "")); // Nilai Marhun column
|
||
rowsData.push({
|
||
index: index,
|
||
recno: recno,
|
||
karat: karat,
|
||
nilaiMarhun: nilaiMarhun
|
||
});
|
||
});
|
||
|
||
let bil = 1;
|
||
let processedCount = 0;
|
||
let totalEntries = rowsData.length;
|
||
|
||
rowsData.forEach((rowData) => {
|
||
// Call API to get margin data for each individual item
|
||
$.ajax({
|
||
url: '{{ api_url_for_browser() }}/api/maxmutuemas/specific',
|
||
type: 'GET',
|
||
data: { karat: rowData.karat, nilaimarhun: rowData.nilaiMarhun },
|
||
success: function(response) {
|
||
if (response && response.karat) {
|
||
let nilaiTeller = parseFloat(response.maxteller) || 0;
|
||
let nilaiPC = parseFloat(response.maxpc) || 0;
|
||
|
||
marginData.push({
|
||
index: rowData.index,
|
||
bil: rowData.index + 1,
|
||
recno: rowData.recno,
|
||
karat: rowData.karat,
|
||
nilaiMarhun: rowData.nilaiMarhun,
|
||
marginTeller: response.teller,
|
||
marginPC: response.pc,
|
||
nilaiTeller: nilaiTeller,
|
||
nilaiPC: nilaiPC
|
||
});
|
||
|
||
totalNilaiMarhun += rowData.nilaiMarhun;
|
||
totalNilaiTeller += nilaiTeller;
|
||
totalNilaiPC += nilaiPC;
|
||
}
|
||
|
||
processedCount++;
|
||
if (processedCount === totalEntries) {
|
||
// Sort by original index to maintain order
|
||
marginData.sort((a, b) => a.index - b.index);
|
||
populateMarginTable(marginData, totalNilaiMarhun, totalNilaiTeller, totalNilaiPC);
|
||
}
|
||
},
|
||
error: function() {
|
||
processedCount++;
|
||
if (processedCount === totalEntries) {
|
||
// Sort by original index to maintain order
|
||
marginData.sort((a, b) => a.index - b.index);
|
||
populateMarginTable(marginData, totalNilaiMarhun, totalNilaiTeller, totalNilaiPC);
|
||
}
|
||
}
|
||
});
|
||
});
|
||
}
|
||
|
||
let marginDataTable = null;
|
||
function populateMarginTable(data, totalMarhun, totalTeller, totalPC) {
|
||
// If DataTable already exists, destroy it first
|
||
if (marginDataTable !== null) {
|
||
marginDataTable.destroy();
|
||
marginDataTable = null;
|
||
}
|
||
|
||
let tbody = $('#marginTableBody');
|
||
tbody.empty();
|
||
|
||
data.forEach(function(item) {
|
||
let row = `
|
||
<tr>
|
||
<td>${item.bil}</td>
|
||
<td>${item.karat}</td>
|
||
<td>RM${item.nilaiMarhun.toLocaleString('en-MY', {minimumFractionDigits: 2, maximumFractionDigits: 2})}</td>
|
||
<td>${item.marginTeller}%</td>
|
||
<td>${item.marginPC}%</td>
|
||
<td>RM${item.nilaiTeller.toLocaleString('en-MY', {minimumFractionDigits: 2, maximumFractionDigits: 2})}</td>
|
||
<td>RM${item.nilaiPC.toLocaleString('en-MY', {minimumFractionDigits: 2, maximumFractionDigits: 2})}</td>
|
||
</tr>
|
||
`;
|
||
tbody.append(row);
|
||
});
|
||
|
||
// Initialize DataTable
|
||
marginDataTable = $('#marginTable').DataTable({
|
||
"pageLength": 10,
|
||
"ordering": false,
|
||
"order": [[ 0, "asc" ]],
|
||
"responsive": true,
|
||
"language": {
|
||
"lengthMenu": "Papar _MENU_ rekod setiap halaman",
|
||
"zeroRecords": "Tiada rekod dijumpai",
|
||
"info": "Memapar halaman _PAGE_ dari _PAGES_",
|
||
"infoEmpty": "Tiada rekod tersedia",
|
||
"infoFiltered": "(ditapis dari _MAX_ jumlah rekod)",
|
||
"search": "Cari:",
|
||
"paginate": {
|
||
"first": "Pertama",
|
||
"last": "Akhir",
|
||
"next": "Seterusnya",
|
||
"previous": "Sebelumnya"
|
||
}
|
||
},
|
||
"footerCallback": function (row, data, start, end, display) {
|
||
// Update footer totals
|
||
$('#totalNilaiMarhunMargin').text('RM' + totalMarhun.toLocaleString('en-MY', {minimumFractionDigits: 2, maximumFractionDigits: 2}));
|
||
$('#totalNilaiTellerMargin').text('RM' + totalTeller.toLocaleString('en-MY', {minimumFractionDigits: 2, maximumFractionDigits: 2}));
|
||
$('#totalNilaiPCMargin').text('RM' + totalPC.toLocaleString('en-MY', {minimumFractionDigits: 2, maximumFractionDigits: 2}));
|
||
}
|
||
});
|
||
}
|
||
|
||
</script>
|
||
@endsection
|