Fix senaraimarhunlel, filter n+1 queries

This commit is contained in:
Amir
2022-11-13 15:00:06 +08:00
parent 490ba2a446
commit 02584b7946
2 changed files with 34 additions and 58 deletions
+23 -46
View File
@@ -1414,60 +1414,36 @@ class SimulasiController extends Controller
$bakilelong = 0;
$keuntungan = 0;
$marhuns = SimulasiBid::join('cawangan', 'simulasibid.caw_id', '=', 'cawangan.id')
// ->join('gadai','simulasibid.norujukan','=','gadai.norujukan')
->where('simulasi_id','=',$simulasi_id)
->where('caw_id','=',$cawid)
->select(
'simulasibid.t_lelong',
'simulasibid.kodcaw',
'cawangan.caw_name',
'simulasibid.norujukan',
'simulasibid.pinjaman',
'simulasibid.berat',
'simulasibid.nilaimarhun',
'simulasibid.hargaasas',
'simulasibid.bakiupah',
'simulasibid.cajlelong',
'simulasibid.baki',
'simulasibid.status_jual',
'simulasibid.jbg'
// 'gadai.bakipjm',
// 'gadai.bakihargajualan',
// 'gadai.upah12',
// 'gadai.ansakhir',
// 'gadai.tempoh',
// 'gadai.tempohbayar',
// 'gadai.kadarupah',
// 'gadai.nokp'
$simulasilel = Simulasi::with('cawangan')->find($simulasi_id);
$cawanganDetail = $simulasilel->cawangan->find($cawid);
$marhuns = SimulasiBid::where('caw_id', '=', $cawid)
->where('simulasi_id', '=', $simulasi_id)
->get();
// $gadaiAll = Gadai::on($cawanganDetail->caw_code)->whereIn('norujukan', $marhuns->pluck('norujukan'))->get()->keyBy('norujukan');
)
->get()->toArray();
// dd($marhuns);
$arraymarhun = [];
foreach($marhuns as $index1=>$cal){
// dd($cal);
$gadai = Gadai::on($cal['kodcaw'])
->where('norujukan','=',$cal['norujukan'])
->first();
// dd($gadai);
$customer = Customer::where('kpbaru','=',$gadai['nokp'])
->orWhere('kplama','=',$gadai['nokp'])
->first();
// dd($customer);
foreach($marhuns->toArray() as $index1=>$cal){
// $gadai = Gadai::on($cal['kodcaw'])
// ->where('norujukan','=',$cal['norujukan'])
// ->first();
// // dd($gadai);
// $customer = Customer::where('kpbaru','=',$gadai['nokp'])
// ->orWhere('kplama','=',$gadai['nokp'])
// ->first();
// $keuntungan = $cal['bakipjm'] - ($cal['bakihargajualan'] - ($cal['upah12'] - $cal['ansakhir'])-(($cal['tempoh']-$cal['tempohbayar'])*$cal['kadarupah']/100*$cal['bakipjm']) );
$marhuns[$index1]['keuntungan'] = $keuntungan;
$marhuns[$index1]['nama'] = $customer;
// $marhuns[$index1]['nama'] = $customer;
$simulasilel = Simulasi::where('id',$simulasi_id)->get();
$sumcajlelong = $cal['hargaasas'] * ($simulasilel[0]['cajlelong']/100);
// $simulasilel = Simulasi::where('id',$simulasi_id)->get();
$sumcajlelong = $cal['hargaasas'] * ($simulasilel->cajlelong/100);
$totalbaki = $cal['hargaasas'] - $cal['pinjaman'] - $cal['bakiupah'] - bcdiv($sumcajlelong,1,1);
$marhuns[$index1]['cajlelong'] = bcdiv($sumcajlelong,1,1);
$marhuns[$index1]['baki'] = $totalbaki;
$total_berat = $total_berat + $cal['berat'];
$total_pinjaman = $total_pinjaman + $cal['pinjaman'];
$total_hargaasas = $total_hargaasas + $cal['hargaasas'];
@@ -1478,8 +1454,8 @@ class SimulasiController extends Controller
array_push($arraymarhun,[
'norujukan' => $cal['norujukan'],
'tempoh' => $gadai['tempoh'],
'nama' => $customer['nama'],
'tempoh' => $cal['jbg'],
// 'nama' => $customer['nama'],
'berat' => $cal['berat'],
'nilaimarhun' => $cal['nilaimarhun'],
'hargaasas' => $cal['hargaasas'],
@@ -1497,6 +1473,7 @@ class SimulasiController extends Controller
'total_bakiupah',
'total_hargaasas',
'simulasilel',
'cawanganDetail',
'total_cazlelong'));
}
@@ -11,7 +11,7 @@
<i class="fas fa-arrow-left"></i>
</a>
<div class="header-style-title">
senarai Sag : {{ $marhuns[0]['caw_name'] }}
senarai Sag : {{ $cawanganDetail->caw_name }}
</div>
</div>
<div class="card-body">
@@ -21,7 +21,7 @@
</div>
@endif
@php
$myDateTime = DateTime::createFromFormat('Y-m-d', $simulasilel[0]->tarikh_lelong );
$myDateTime = DateTime::createFromFormat('Y-m-d', $simulasilel->tarikh_lelong );
$t_lelong = $myDateTime->format('d-m-Y');
@endphp
<div class="col-6">
@@ -39,7 +39,7 @@
<label class="col-6 col-form-label text-left">JBG</label>
<div class="col-6">
<div class="input-group">
<input type="text" readonly class="form-control bg-light" value="{{$simulasilel[0]->jbg}}">
<input type="text" readonly class="form-control bg-light" value="{{$simulasilel->jbg}}">
</div>
</div>
</div>
@@ -93,8 +93,8 @@
<td>{{ number_format($marhun['nilaimarhun'], 2, '.', ',') }}</td>
<td>{{ number_format($marhun['hargaasas'], 2, '.', ',') }}</td>
<td>{{ number_format($marhun['pinjaman'] , 2, '.', ',') }}</td>
<td>{{ number_format($marhun['bakiupah'], 2, '.', ',') }}</td>
<td>{{ number_format($marhun['cajlelong'], 2, '.', ',') }}</td>
<td>{{ number_format($marhun['bakiupah'], 2, '.', ',') }}</td>
@php
$rugi = 0;
$baki = 0;
@@ -122,14 +122,13 @@
<tfoot class="bg-light">
<tr>
<td colspan="3"><b>JUMLAH KESELURUHAN</b></td>
<td align='right'>{{ number_format($total_berat, 2, '.', ',') }}</td>
<td align='right'>{{ number_format($total_nilaimarhun, 2, '.', ',') }}</td>
<td align='right'>{{ number_format($total_hargaasas, 2, '.', ',') }}</td>
<td align='right'>{{ number_format($total_pinjaman, 2, '.', ',') }}</td>
<td align='right'>{{ number_format($total_bakiupah, 2, '.', ',') }}</td>
<td align='right'>{{ number_format($total_cazlelong, 2, '.', ',') }}</td>
{{-- <td align = 'right'>({{ number_format($rugilelong, 2, '.', ',') }})</td> --}}
<td align='right'>{{ number_format($bakilelong, 2, '.', ',') }}</td>
<td>{{ number_format($total_berat, 2, '.', ',') }}</td>
<td>{{ number_format($total_nilaimarhun, 2, '.', ',') }}</td>
<td>{{ number_format($total_hargaasas, 2, '.', ',') }}</td>
<td>{{ number_format($total_pinjaman, 2, '.', ',') }}</td>
<td>{{ number_format($total_cazlelong, 2, '.', ',') }}</td>
<td>{{ number_format($total_bakiupah, 2, '.', ',') }}</td>
<td>{{ number_format($bakilelong, 2, '.', ',') }}</td>
<td></td>
</tr>
</tfoot>