update coding senarai sag by customer page operasi dan add bakilelong

This commit is contained in:
Nur Izzati Zulkifli
2023-04-05 15:30:40 +08:00
parent b5324d08dc
commit 321702c7bd
7 changed files with 225 additions and 49 deletions
+124
View File
@@ -3639,6 +3639,130 @@ class LelongController extends Controller
return view('lelong.listsagbycust',compact('lelonglel','cawanganDetail','marhuns','lelongid','cawid','listsag','ktlhbyr','arrayinfo'));
}
public function listsagbycust2($lelongid, $cawid)
{
$keuntungan = 0;
$arraylistgadai = 0;
$lelonglel = Lelong::with('cawangan')->find($lelongid);
$cawanganDetail = $lelonglel->cawangan->find($cawid);
$caw = Cawangan::with(["lelongBid" => function($q) use ($lelongid){
$q->where('lelong_id', '=', $lelongid)->select('id','caw_id','kodcaw','norujukan','hargaasas','pinjaman','bakiupah');
}])
->where('caw_code','=',$cawanganDetail->caw_code)->first();
$lelongbid_data_pluck_norujukan = $caw->lelongBid->pluck('norujukan')->toArray();
$lelongbid_keyby_norujukan = $caw->lelongBid->keyBy('norujukan');
$gadai_all = Gadai::on($cawanganDetail->caw_code)->whereIn('norujukan', $lelongbid_data_pluck_norujukan)
->select('kadarupah','nokp','tempoh','tempohbayar','norujukan','berat','nilaimarhun','pinjaman','bakipjm','bakiupah','hargajualan','bakihargajualan')
->orderBy('norujukan','ASC')
->get();
$transaksi_all = TransaksiKeuntungan::on('main')->whereIn('norujukan', $lelongbid_data_pluck_norujukan)
->select('keuntungan_rebet','bayaran_keuntungan','norujukan')
->get();
$transaksi_all_groupby_norujukan = $transaksi_all->groupBy('norujukan');
// dd($transaksi_all_groupby_norujukan);
$gadai_all_pluck_nokp = $gadai_all->pluck('nokp')->unique();
$customers = Customer::whereIn('kpbaru', $gadai_all_pluck_nokp)
->orWhereIn('kplama', $gadai_all_pluck_nokp)
->select('nama','kpbaru', 'kplama','alamat1','alamat2','alamat3','telefon')
->get();
$customers_keyBy_noKp = $customers->keyBy(function ($item) {
if ($item->kpbaru != '') {
return $item->kpbaru;
} else if ($item->kplama != '') {
return $item->kplama;
}
});
// $gadai_all_groupby_nokp = $gadai_all->groupBy('nokp');
$gadai_all_keyBy_norujukan = $gadai_all->keyBy('norujukan');
foreach($transaksi_all_groupby_norujukan as $index7=>$transaksi){
if($gadai_all_keyBy_norujukan[$index7]){
$gadai_true = $gadai_all_keyBy_norujukan[$index7];
$gadai_true['data_transaksi'] = $transaksi;
}
}
// dd($transaksi, $gadai_all_keyBy_norujukan['011013221006-0011']);
// dd($gadai_all_keyBy_norujukan['011013221006-0011']); 961114106974
$gadai_all_groupby_nokp = $gadai_all_keyBy_norujukan->groupBy('nokp');
// dd($gadai_all_groupby_nokp['961114106974']);
foreach($customers as $index=>$customer){
if($customer->kpbaru != ''){
$customers[$index]['nokp'] = $customer->kpbaru;
}
elseif($customer->kplama != ''){
$customers[$index]['nokp'] = $customer->kplama;
}
// dd($gadai_all_groupby_nokp, $customer, $gadai_all_groupby_nokp[$customer->nokp]);
if($gadai_all_groupby_nokp[$customer->nokp]){
$customers[$index]['gadai'] = $gadai_all_groupby_nokp[$customer->nokp];
}
// dd($customer);
foreach($customer['gadai'] as $index2=>$datagadai){
// dd($datagadai);
if($lelongbid_keyby_norujukan[$datagadai->norujukan]){
// dd(isset($datagadai['data_transaksi']));
if(isset($datagadai['data_transaksi'])){
$data_transaksi = $transaksi_all_groupby_norujukan[$datagadai->norujukan];
$total_untung_rebet = $data_transaksi->sum('keuntungan_rebet');
$total_untung_asal = $data_transaksi->sum('bayaran_keuntungan');
$beza_keuntungan = $total_untung_asal - $total_untung_rebet;
// dd($beza_keuntungan);
// dd(true);
$jbg = $datagadai->tempoh - $datagadai->tempohbayar;
$jbg2 = 12 - $datagadai->tempohbayar;
if($datagadai->tempoh <= '12.00'){
$keuntungan = bcdiv(($jbg)*$datagadai->kadarupah/100*$datagadai->bakipjm,1,1)-$beza_keuntungan;
}else{
$keuntungan = bcdiv(($jbg2)*$datagadai->kadarupah/100*$datagadai->bakipjm,1,1)-$beza_keuntungan;
}
}
else{
// dd(false);
$jbg = $datagadai->tempoh - $datagadai->tempohbayar;
$jbg2 = 12 - $datagadai->tempohbayar;
$beza_keuntungan = 0.00;
// dd($beza_keuntungan);
if($datagadai->tempoh <= '12.00'){
// dd($jbg,$datagadai->kadarupah, $datagadai->bakipjm);
$keuntungan = bcdiv(($jbg)*$datagadai->kadarupah/100*$datagadai->bakipjm,1,1)-$beza_keuntungan;
}else{
// dd(false);
$keuntungan = bcdiv(($jbg2)*$datagadai->kadarupah/100*$datagadai->bakipjm,1,1)-$beza_keuntungan;
}
}
$lelongbid_true = $lelongbid_keyby_norujukan[$datagadai->norujukan];
$ktlhbyr = $datagadai->hargajualan - $datagadai->bakihargajualan;
$sumcajlelong = $lelongbid_true->hargaasas * ($lelonglel->cajlelong / 100);
$cajlelongnew = round($sumcajlelong, 1, 1);
$totalbaki = $lelongbid_true->hargaasas - $lelongbid_true->pinjaman - $lelongbid_true->bakiupah - $cajlelongnew;
$customer['gadai'][$index2]['bakilelong'] = $totalbaki;
$customer['gadai'][$index2]['ktlhbyr'] = $ktlhbyr;
$customer['gadai'][$index2]['keuntungan'] = $keuntungan;
}
}
// dd($customer);
}
return view('lelong.listsagbycust',compact('customers','cawanganDetail','lelongid','cawid'));
// return view('lelong.listsagbycust',compact('lelonglel','cawanganDetail','marhuns','lelongid','cawid','listsag','ktlhbyr','arrayinfo'));
}
public function exportlelong(Request $request)
{