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'));
}