Add feature forecast gadaian

This commit is contained in:
Amir
2023-04-27 09:46:32 +08:00
parent dc6a15ece9
commit e1de38755f
4 changed files with 800 additions and 5 deletions
+209 -4
View File
@@ -34,7 +34,7 @@ use App\Models\Customer;
use App\Models\LelongTebus;
use App\Models\Pengesahan;
use App\Models\TransaksiKeuntungan;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;
@@ -1283,10 +1283,215 @@ class ReportController extends Controller
return $pdf->download('Senarai Ubah Marhun.pdf');
}
public function forecastGadaian()
{
$user = Auth::user();
$lelong_id_latest_updated_lelkarat = LelKarat::orderBy('updated_at', 'desc')->select('lelong_id')->first();
$lel_karat_all = LelKarat::where('lelong_id', $lelong_id_latest_updated_lelkarat->lelong_id)->select('lelong_id', 'karat', 'harga2', 'updated_at')->get();
$lelong = Lelong::find($lelong_id_latest_updated_lelkarat->lelong_id, ['id', 'cajlelong', 'tarikh_lelong']);
return view('forecastgadaian.cawangan', compact('user', 'lel_karat_all', 'lelong'));
}
public function searchForecastGadaian(Request $request)
{
$gadai_all = collect();
$lel_karat_all = $request->lel_karat;
if ($request->search_type == "custom-search") {
$raw_queries = "(jbg = " . $request->jbg . " or jbg = " . ($request->jbg + 0.5) . ") ";
if ($request->pinjaman == 1000.00) {
$raw_queries = $raw_queries . "and pinjaman <= " . $request->pinjaman;
} else if ($request->pinjaman == 10000.01) {
$raw_queries = $raw_queries . "and pinjaman >= " . $request->pinjaman;
} else {
$raw_queries = $raw_queries . "and pinjaman between " . $request->pinjaman . " and " . ($request->pinjaman + 1000 - 0.01);
}
} else if ($request->search_type == "nokp-search") {
$raw_queries = "nokp = '" . $request->nokp . "'";
} else if ($request->search_type == "norujukan-search") {
$raw_queries = "norujukan = '" . $request->norujukan . "'";
}
$gadai_all = Gadai::on($request->kodcaw)
->with('gadaiMarhun:norujukan,karat,berat,marhun')
->whereRaw($raw_queries)
->where('sttebus', "")
->where('taglel', 0)
->orderBy('t_gadai', 'DESC')
->select('nokp', 'norujukan', 'percentpinj', 'tempoh', 'pinjaman', 'kadarupah', 'bakipjm', 'tempohbayar', 'berat')
->get();
if ($gadai_all->isNotEmpty()) {
$gadai_all = $gadai_all->map(function ($item) {
$item->keuntungan_semasa = number_format(0.00, 2, '.', ',');
return $item;
});
$gadai_all_pluck_no_kp = $gadai_all->pluck('nokp')->unique();
$customers = Customer::whereIn('kpbaru', $gadai_all_pluck_no_kp)
->orWhereIn('kplama', $gadai_all_pluck_no_kp)
->select(
'nama',
'kpbaru',
'kplama',
'telefon',
'alamat1'
)
->get();
foreach ($customers as $index => $customer) {
if ($customer->kpbaru != '') {
$customers[$index]['nokp'] = $customer->kpbaru;
} elseif ($customer->kplama != '') {
$customers[$index]['nokp'] = $customer->kplama;
}
}
$customers_key_by_no_kp = $customers->keyBy('nokp');
foreach ($gadai_all as $index => $gadai) {
if ($customers_key_by_no_kp[$gadai->nokp]) {
$gadai_all[$index]['customer_detail'] = $customers_key_by_no_kp[$gadai->nokp];
}
}
$gadai_all_keyby_pluck_norujukan = $gadai_all->pluck('norujukan');
$transaksi_keuntungan_all = TransaksiKeuntungan::whereIn('norujukan', $gadai_all_keyby_pluck_norujukan)->select('norujukan', 'keuntungan_rebet', 'bayaran_keuntungan')->get();
$transaksi_keuntungan_all_groupby_norujukan = $transaksi_keuntungan_all->groupBy('norujukan');
$gadai_all_keyby_norujukan = $gadai_all->keyBy('norujukan');
foreach ($transaksi_keuntungan_all_groupby_norujukan as $index => $transaksi_keuntungan) {
if ($gadai_all_keyby_norujukan[$index]) {
$gadai_true = $gadai_all_keyby_norujukan[$index];
$total_rebet = $transaksi_keuntungan->sum('keuntungan_rebet');
$total_keuntungan_asal = $transaksi_keuntungan->sum('bayaran_keuntungan');
$beza_keuntungan = $total_keuntungan_asal - $total_rebet;
if ($gadai_true->tempohbayar == $gadai_true->tempoh) {
$keuntungan_belum_bayar = 0.00;
} else if ($gadai_true->tempohbayar >= 12) {
$keuntungan_belum_bayar = 0.00;
} else {
$jbg_belum_bayar = $gadai_true->tempoh - $gadai_true->tempohbayar;
$jbg_belum_bayar_2 = 12 - $gadai_true->tempohbayar;
if ($gadai_true->tempoh <= '12.00') {
$keuntungan_belum_bayar = bcdiv($gadai_true->bakipjm * $gadai_true->kadarupah / 100 * $jbg_belum_bayar, 1, 1) - $beza_keuntungan;
} else {
$keuntungan_belum_bayar = bcdiv($gadai_true->bakipjm * $gadai_true->kadarupah / 100 * $jbg_belum_bayar_2, 1, 1) - $beza_keuntungan;
}
}
$gadai_true['total_keuntungan_asal'] = $total_keuntungan_asal;
$gadai_true['jbg_belum_bayar'] = $jbg_belum_bayar;
$gadai_true['beza_keuntungan'] = $beza_keuntungan;
$gadai_true['keuntungan_semasa'] = $keuntungan_belum_bayar;
}
}
$lel_karat_key_by_karat = collect($lel_karat_all)->keyBy('karat');
foreach ($gadai_all as $index90 => $gadai) {
if (!$transaksi_keuntungan_all->contains('norujukan', $gadai->norujukan)) {
if ($gadai->tempohbayar == $gadai->tempoh) {
$keuntungan_belum_bayar = 0.00;
} else if ($gadai->tempohbayar >= 12) {
$keuntungan_belum_bayar = 0.00;
} else {
$jbg_belum_bayar = $gadai->tempoh - $gadai->tempohbayar;
$jbg_belum_bayar_2 = 12 - $gadai->tempohbayar;
if ($gadai->tempoh <= '12.00') {
$keuntungan_belum_bayar = bcdiv($gadai->bakipjm * $gadai->kadarupah / 100 * $jbg_belum_bayar, 1, 1);
} else {
$keuntungan_belum_bayar = bcdiv($gadai->bakipjm * $gadai->kadarupah / 100 * $jbg_belum_bayar_2, 1, 1);
}
}
$gadai['jbg_belum_bayar'] = $jbg_belum_bayar;
$gadai['keuntungan_semasa'] = $keuntungan_belum_bayar;
}
$jumlah_harga_emas = 0;
foreach ($gadai->gadaiMarhun as $index65 => $marhun) {
if ($lel_karat_key_by_karat[$marhun->karat]) {
$lel_karat_true = $lel_karat_key_by_karat[$marhun->karat];
$harga_marhun_lelong = $marhun->berat * $lel_karat_true['harga2'];
$gadai->gadaiMarhun[$index65]['harga_marhun_lelong'] = $harga_marhun_lelong;
}
$jumlah_harga_emas += $marhun->harga_marhun_lelong;
}
$gadai_all[$index90]['harga_asas'] = round($jumlah_harga_emas);
$caj_lelong_bid = $gadai->harga_asas * ($request->caj_lelong / 100);
$gadai_all[$index90]['caj_lelong'] = round($caj_lelong_bid);
$baki_lelong = $gadai->harga_asas - $gadai->bakipjm - $gadai->keuntungan_semasa - round($caj_lelong_bid);
$gadai_all[$index90]['test_ori_harga_asas'] = $gadai->harga_asas;
$gadai_all[$index90]['test_ori_bakipjm'] = $gadai->bakipjm;
$gadai_all[$index90]['test_ori_keuntungan_semasa'] = $gadai->keuntungan_semasa;
$gadai_all[$index90]['test_ori_caj_lelong_bid'] = $caj_lelong_bid;
$gadai_all[$index90]['test_ori_baki_lelong'] = $baki_lelong;
$gadai_all[$index90]['test_harga_asas'] = floatval($gadai->harga_asas);
$gadai_all[$index90]['test_bakipjm'] = floatval($gadai->bakipjm);
$gadai_all[$index90]['test_keuntungan_semasa'] = $gadai->keuntungan_semasa;
$gadai_all[$index90]['test_caj_lelong_bid'] = round($caj_lelong_bid);
$gadai_all[$index90]['test_baki_lelong'] = $baki_lelong;
$gadai_all[$index90]['baki_lelong'] = $baki_lelong;
if ($gadai->tempoh <= 9) {
$keuntungan_1_bulan = $gadai->bakipjm * ($gadai->kadarupah / 100);
$baki_jbg_sebelum_9_bulan = 9 - $gadai->tempohbayar;
if ($transaksi_keuntungan_all->contains('norujukan', $gadai->norujukan)) {
$keuntungan_9_bulan = $keuntungan_1_bulan * $baki_jbg_sebelum_9_bulan;
} else {
$keuntungan_9_bulan = $keuntungan_1_bulan * $baki_jbg_sebelum_9_bulan;
}
$value_to_calculate = $keuntungan_9_bulan;
} else {
$keuntungan_9_bulan = 0.00;
$value_to_calculate = $gadai->keuntungan_semasa;
}
$gadai_all[$index90]['keuntungan_9_bulan'] = bcdiv($keuntungan_9_bulan, 1, 1);
$harga_sandaran = (floatval($gadai->bakipjm) + floatval($value_to_calculate) + floatval($gadai->caj_lelong)) / $gadai->berat;
$gadai_all[$index90]['harga_sandaran'] = bcdiv($harga_sandaran, 1, 1);
if ($request->pilihan_baki_lelong == 'positif') {
if ($gadai->baki_lelong < 0) {
$gadai_all->forget($index90);
}
} else if ($request->pilihan_baki_lelong == 'negatif') {
if ($gadai->baki_lelong > 0) {
$gadai_all->forget($index90);
}
}
}
$array_gadai = [];
foreach ($gadai_all as $gadai) {
array_push($array_gadai, $gadai);
}
if (sizeof($array_gadai) != 0) {
return response()->json(["success" => true, "array_gadai" => $array_gadai]);
} else {
return response()->json(["success" => false, "array_gadai" => $array_gadai]);
}
} else {
return response()->json(["success" => false, "array_gadai" => $gadai_all]);
}
}
}
@@ -0,0 +1,577 @@
@extends('layouts.app')
@section('content')
<style>
.search-card {
overflow-x: auto;
border: 1px solid #dee2e6;
;
padding: 10px;
border-top: none;
}
.reset-button-style {
display: flex;
align-items: center;
}
.select-norujukan-style {
color: #3490dc;
text-decoration: underline;
white-space: nowrap;
cursor: pointer;
}
</style>
<div class="container-fluid">
<div class="row ">
<div class="col mx-auto p-4">
<div class="card">
<div class="card-header header-style">
<div class="header-style-title">
Analisa Gadaian
</div>
</div>
<div class="card-body">
<div class="col">
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" onclick="clearInput()" id="custom-tab" data-toggle="tab" href="#custom-search" role="tab" aria-controls="custom-search" aria-selected="false">
Carian Custom
</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="clearInput()" id="nokp-tab" data-toggle="tab" href="#nokp-search" role="tab" aria-controls="nokp-search" aria-selected="false">
Carian No KP
</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="clearInput()" id="norujukan-tab" data-toggle="tab" href="#norujukan-search" role="tab" aria-controls="norujukan-search" aria-selected="false">
Carian No Rujukan
</a>
</li>
</ul>
<div class="form-group row" hidden>
<label class="col-4 col-form-label">Nama</label>
<div class="col">
<div class="input-group">
<input type="text" class="form-control" name="nama_pelanggan" id="nama_pelanggan">
</div>
</div>
</div>
<form id="form-id">
<div class="tab-content search-card" id="myTabContent">
<div class="tab-pane fade show active" id="custom-search" role="tabpanel" aria-labelledby="custom-tab">
<div>
<div class="form-group row">
<label class="col-4 col-form-label">JBG</label>
<div class="col-4">
<select class="custom-select" id="jbg">
<option selected value="5">5 & 5.5</option>
<option value="6">6 & 6.5</option>
<option value="7">7 & 7.5</option>
<option value="8">8 & 8.5</option>
<option value="9">9 & 9.5</option>
<option value="10">10 & 10.5</option>
<option value="11">11 & 11.5</option>
<option value="12">>=12</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-4 col-form-label">Pembiayaan</label>
<div class="col-4">
<select class="custom-select" id="pinjaman">
<option selected value="1000.00">
<= 1,000.00</option>
<option value="1000.01">1,000.01 - 2,000.00</option>
<option value="2000.01">2,000.01 - 3,000.00</option>
<option value="3000.01">3,000.01 - 4,000.00</option>
<option value="4000.01">4,000.01 - 5,000.00</option>
<option value="5000.01">5,000.01 - 6,000.00</option>
<option value="6000.01">6,000.01 - 7,000.00</option>
<option value="7000.01">7,000.01 - 8,000.00</option>
<option value="8000.01">8,000.01 - 9,000.00</option>
<option value="9000.01">9,000.01 - 10,000.00</option>
<option value="10000.01">>= 10,000.01</option>
</select>
</div>
</div>
</div>
</div>
<div class="tab-pane fade" id="nokp-search" role="tabpanel" aria-labelledby="nokp-tab">
<div class="form-group row">
<label class="col-4 col-form-label">No KP</label>
<div class="col-4">
<div class="input-group">
<input type="text" class="form-control" name="no_kp_pelanggan" id="no_kp_pelanggan">
</div>
</div>
</div>
</div>
<div class="tab-pane fade" id="norujukan-search" role="tabpanel" aria-labelledby="jananorujukan-tab">
<div class="form-group row">
<label class="col-4 col-form-label">No Rujukan</label>
<div class="col-4">
<div class="input-group">
<input type="text" class="form-control" name="no_rujukan" id="no_rujukan">
</div>
</div>
</div>
</div>
<!-- <div class="form-group row">
<label class="col-4 col-form-label">Baki Lelong</label>
<div class="col col-form-label">
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="pilihan_baki_lelong" id="pilihan_baki_lelong" value="semua" checked>
<label class="form-check-label" for="exampleRadios1">
Semua
</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="pilihan_baki_lelong" id="pilihan_baki_lelong" value="positif">
<label class="form-check-label" for="exampleRadios2">
Baki Lelong
</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="pilihan_baki_lelong" id="pilihan_baki_lelong" value="negatif">
<label class="form-check-label" for="exampleRadios3">
Rugi Lelong
</label>
</div>
</div>
</div> -->
<div class="form-group row">
<label class="col-4 col-form-label">Baki Lelong</label>
<div class="col-4">
<select class="custom-select" id="pilihan_baki_lelong">
<option selected value="semua">Semua</option>
<option value="positif">Baki Sahaja</option>
<option value="negatif">Rugi Sahaja</option>
</select>
</div>
</div>
<div class="d-flex justify-content-between">
<button class="btn btn-primary" type="submit" onclick="doForecast()">Cari</button>
<button type="button" class="btn btn-outline-success" data-toggle="modal" data-target="#hargaemaslelong">
Harga Emas Lelongan
</button>
</div>
</div>
</form>
<button class="btn mt-4 btn-outline-danger reset-button-style" onclick="resetForecast()">Padam Keputusan Carian <span class="material-symbols-rounded ml-1" style="font-size: 16px;">arrow_downward</span></button>
<div class="modal fade" id="perincianMaklumatModal" tabindex="-1" data-backdrop="static" data-keyboard="false" aria-labelledby="perincianMaklumatModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-centered modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="perincianMaklumatModalLabel">Perincian Maklumat</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-lg-6 col-md-12">
<h5 class="mb-4">Maklumat Pelanggan</h5>
<div class="form-group row">
<label class="col-6 col-form-label">Nama</label>
<div class="col-6">
<div class="input-group">
<input type="text" id="textNama" readonly class="form-control bg-light">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-6 col-form-label">No KP</label>
<div class="col-6">
<div class="input-group">
<input type="text" id="textNokp" readonly class="form-control bg-light">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-6 col-form-label">Telefon</label>
<div class="col-6">
<div class="input-group">
<input type="text" id="textTelefon" readonly class="form-control bg-light">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-6 col-form-label">Alamat 1</label>
<div class="col-6">
<div class="input-group">
<input type="text" id="textAlamat1" readonly class="form-control bg-light">
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-12">
<h5 class="mb-4">Maklumat Gadaian</h5>
<div class="form-group row">
<label class="col-6 col-form-label">No Rujukan</label>
<div class="col-6">
<div class="input-group">
<input type="text" id="textNorujukan" readonly class="form-control bg-light">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-6 col-form-label">Pembiayaan Asal</label>
<div class="col-6">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text">RM</div>
</div>
<input type="text" id="textPembiayaanAsal" readonly class="form-control bg-light">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-6 col-form-label">Baki Pembiayaan</label>
<div class="col-6">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text">RM</div>
</div>
<input type="text" id="textBakiPembiayaan" readonly class="form-control bg-light">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-6 col-form-label">Berat Keseluruhan</label>
<div class="col-6">
<div class="input-group">
<input type="text" id="textBerat" readonly class="form-control bg-light">
</div>
</div>
</div>
<table class="table text-center table-bordered table-sm" id="marhun-table">
<thead>
<tr class="table-info">
<th>Bil</th>
<th>Marhun</th>
<th>Karat</th>
<th>Berat</th>
<th>Harga Lelong</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Kembali</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="hargaemaslelong" tabindex="-1" data-backdrop="static" data-keyboard="false" aria-labelledby="hargaEmasLelongModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="hargaEmasLelongModalLabel">Harga Emas Lelongan</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="row">
<div class="col">
<div class="alert alert-primary">
Harga emas lelongan dalam analisa gadaian ini adalah berdasarkan data <strong style="text-decoration: underline;">terkini</strong> yang dikemaskini oleh operasi.
<!-- <span><br>Kemaskini pada: {{ $lel_karat_all[0]->updated_at }}</span> -->
</div>
<div class="form-group row">
<label class="col-5 col-form-label">Batch Lelong</label>
<div class="col">
<div class="input-group">
<input type="text" readonly class="form-control bg-light" value="{{$lelong->id}}">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-5 col-form-label">Tarikh Lelong</label>
<div class="col">
<div class="input-group">
<input type="text" readonly class="form-control bg-light" value="{{$lelong->tarikh_lelong}}">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-5 col-form-label">Caj Lelong</label>
<div class="col">
<div class="input-group">
<input type="text" readonly class="form-control bg-light" value="{{$lelong->cajlelong}}">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-5 col-form-label">Kemaskini</label>
<div class="col">
<div class="input-group">
<input type="text" readonly class="form-control bg-light" value="{{ $lel_karat_all[0]->updated_at }}">
</div>
</div>
</div>
<!-- </div>
<div class="col-lg-6 col-md-12"> -->
<table class="table text-center table-bordered table-sm">
<thead class="bg-info">
<tr>
<th>Karat</th>
<th>Harga</th>
</tr>
</thead>
<tbody>
@foreach($lel_karat_all as $lel_karat)
<tr>
<td>{{ $lel_karat->karat }}</td>
<td>RM{{ $lel_karat->harga2 }}</td>
</tr>
</tbody>
@endforeach
</table>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Kembali</button>
</div>
</div>
</div>
</div>
<div class="mt-4" style="overflow-x: auto;">
<table class="table text-center table-hover table-bordered" id="main-table">
<thead class="bg-primary text-center text-white">
<tr>
<th>Bil</th>
<th>Nama</th>
<th>No KP</th>
<th>No Rujukan</th>
<th>%</th>
<th>JBG</th>
<th>Baki Pembiayaan</th>
<th>Keuntungan Semasa</th>
<th>Caj Lelong</th>
<th>Harga Asas</th>
<th>Baki Lelong Semasa</th>
<th>Keuntungan 9 Bulan</th>
<th>Harga Emas 2nd</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
window.kodcaw = "<?php echo "$user->kodcaw" ?>";
var cajLelong = "<?php echo "$lelong->cajlelong" ?>";
var lelKarat = @json($lel_karat_all);
let homeUrl = "{{ route('home') }}";
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
var mainTable = $('#main-table').DataTable({
"pageLength": 10000
});
var marhunTable = $('#marhun-table').DataTable({
// "pageLength": 10000
paging: false,
ordering: false,
info: false,
searching: false,
});
// $(document).ready(function() {
// var table = $('#main-table').DataTable({
// ajax: 'data/arrays.txt',
// columnDefs: [{
// targets: -1,
// data: null,
// defaultContent: '<button>Click!</button>',
// }, ],
// });
$('#main-table tbody').on('click', '.click-norujukan', function() {
marhunTable.clear().draw();
var data = mainTable.row($(this).parents('tr')).data()[13];
$('#perincianMaklumatModal').modal('show');
$('#textNama').val(data.customer_detail.nama);
$('#textNokp').val(data.customer_detail.nokp);
$('#textTelefon').val(data.customer_detail.telefon);
$('#textAlamat1').val(data.customer_detail.alamat1);
$('#textNorujukan').val(data.norujukan);
$('#textPembiayaanAsal').val(data.pinjaman);
$('#textBakiPembiayaan').val(data.bakipjm);
$('#textBerat').val(data.berat);
console.log(data.gadai_marhun);
var marhunIteration = 1;
for (var e of data.gadai_marhun) {
console.log(marhunIteration);
marhunTable.row.add([
marhunIteration,
e.marhun,
e.karat,
e.berat,
formatter.format(e.harga_marhun_lelong),
]).draw();
console.log(marhunIteration);
marhunIteration = marhunIteration + 1;
console.log(marhunIteration);
};
});
// });
$("#form-id").submit(function(e) {
return false;
});
function clearInput() {
document.getElementById('jbg').value = '5';
document.getElementById('pinjaman').value = '1000.00';
document.getElementById('no_kp_pelanggan').value = '';
document.getElementById('no_rujukan').value = '';
document.getElementById('pilihan_baki_lelong').value = 'semua';
}
function resetForecast() {
$.confirm({
title: 'Padam Keputusan Carian',
content: 'Adakah anda pasti? <br>Tindakan ini tidak dapat dikembalikan.',
type: 'red',
buttons: {
Kembali: function() {},
Padam: {
btnClass: 'btn-red',
keys: ['enter'],
action: function() {
mainTable.clear().draw();
}
},
}
});
}
function doForecast() {
mainTable.clear().draw();
mainTable.search('').draw();
mainTable.draw().order([
[0, 'asc']
]);
var searchType = $("#myTabContent div.active").attr("id");
var namaPelanggan = document.getElementById('nama_pelanggan').value.trim();
var noKp = document.getElementById('no_kp_pelanggan').value.trim();
var noRujukan = document.getElementById('no_rujukan').value;
var jbg = $('#jbg').find(":selected").val();
var pinjaman = $('#pinjaman').find(":selected").val();
var pilihanBakiLelong = $('#pilihan_baki_lelong').find(":selected").val();
if (searchType == 'nokp-search' && noKp == "") {
$.alert({
title: '<span style="color:red">Carian Gagal.</span>',
type: 'red',
content: 'Sila isi no kad pengenalan.',
buttons: {
ok: {
keys: ['enter']
},
}
});
} else if (searchType == 'norujukan-search' && noRujukan == "") {
$.alert({
title: '<span style="color:red">Carian Gagal.</span>',
type: 'red',
content: 'Sila isi no rujukan.',
buttons: {
ok: {
keys: ['enter']
},
}
});
} else {
$.confirm({
content: function() {
var self = this;
return $.ajax({
url: '{{ route("report.searchforecastgadaian") }}',
method: 'GET',
data: {
"kodcaw": window.kodcaw,
"lel_karat": lelKarat,
"caj_lelong": cajLelong,
"search_type": searchType,
"nama": namaPelanggan,
"nokp": noKp,
"norujukan": noRujukan,
"jbg": jbg,
"pinjaman": pinjaman,
"pilihan_baki_lelong": pilihanBakiLelong,
},
}).done(function(response) {
if (response.success == true) {
console.log(response);
var loopIteration = 1;
for (var data of response.array_gadai) {
mainTable.row.add([
loopIteration,
data.customer_detail.nama,
data.nokp,
"<div class='select-norujukan-style click-norujukan'>" + data.norujukan + "</div>",
data.percentpinj,
data.tempoh,
formatter.format(data.bakipjm),
data.keuntungan_semasa,
formatter.format(data.caj_lelong),
formatter.format(data.harga_asas),
(data.baki_lelong > 0) ? "<strong style='color:green;'>" + formatter.format(data.baki_lelong) + "</strong>" : "<strong style='color:red;'>" + formatter.format(data.baki_lelong) + "</strong>",
formatter.format(data.keuntungan_9_bulan),
formatter.format(data.harga_sandaran),
data
]).draw();
loopIteration += 1;
}
self.setTitle('<span style="color:green;">Carian Berjaya.</span>');
self.setContent('Jumlah: ' + response.array_gadai.length);
} else {
mainTable.clear().draw();
self.setTitle('Carian Berjaya.');
self.setContent('Tiada data.');
self.setContentAppend('<br>Sila kemaskini carian anda.');
}
}).fail(function(response) {
if (response.status == 401) {
window.location.replace(homeUrl);
}
alert(response);
self.setTitle('<span style="color:red;">Carian Gagal.</span>');
self.setContent('Sila minimumkan data carian.');
});
},
buttons: {
ok: {
keys: ['enter']
},
}
});
}
}
</script>
@endsection
@@ -282,6 +282,16 @@
</div>
</a>
</li>
<li class="{{ (request()->is('report/forecastgadaian') || request()->is('report/forecastgadaian/*')) ? 'active' : '' }}">
<a href="{{url('report/forecastgadaian')}}">
<div class="sidebar-menu-main-title">
<span class="material-symbols-rounded sidebar-menu-item-main">
thermostat
</span>
Analisa Gadaian
</div>
</a>
</li>
<li class="{{ (request()->is('report/')) ? 'active' : '' }}">
<a href="#reportSubmenu" data-toggle="collapse" aria-expanded="false">
+3
View File
@@ -549,6 +549,9 @@ Route::post('/export',['as'=>'report.exportubahmarhun','uses'=>'ReportController
Route::get('/showphotoresit',['as'=>'report.showphotoresit','uses'=>'PembidaController@showPhotoResit']);
Route::get('/detailsbayaran/{lelong_id}/{user_id}/{kodcaw}',['as'=>'report.detailsbayaran','uses'=>'PembidaController@detailsbayaran']);
Route::get('/forecastgadaian', ['as'=>'report.forecastgadaian','uses'=>'ReportController@forecastGadaian']);
Route::get('/searchforecastgadaian', ['as'=>'report.searchforecastgadaian','uses'=>'ReportController@searchForecastGadaian']);
});
//Report by KALI