Update lelongbid and lelongbidmarhun when kemaskini harga emas

This commit is contained in:
Amir
2023-03-05 12:54:15 +08:00
parent a732f19742
commit 3ad15677c0
+50 -40
View File
@@ -947,20 +947,8 @@ class LelongController extends Controller
public function kemaskini2(Request $request)
{
/*
read LelKarat, done
create LelKarat_temp, done
update LelKarat, done
read LelongBid, done
read TransaksiKeuntungan - sum keuntungan_rebet, done
read TransaksiKeuntungan - sum bayaran_keuntungan, done
read Gadai, done
read LelongBidMarhun, done
update LelongBidMarhun, done
update LelongBid
create LogUser
update Lelong, done
*/
$user = Auth::user();
$currentNow = Carbon::now();
$lel_karats = LelKarat::where('lelong_id', $request->idlelong)->get();
@@ -991,11 +979,11 @@ class LelongController extends Controller
$build_query = sprintf("CASE %s END", $cases);
// LelKarat_temp::insert($lelkarat_temp_arr);
LelKarat_temp::insert($lelkarat_temp_arr);
// LelKarat::query()->where('lelong_id', $request->idlelong)->update(['harga2' => DB::raw($build_query)]);
LelKarat::query()->where('lelong_id', $request->idlelong)->update(['harga2' => DB::raw($build_query)]);
// Lelong::find($request->idlelong)->update(['harga_emas_asas' => $request->harga2[3]]);
Lelong::find($request->idlelong)->update(['harga_emas_asas' => $request->harga2[3]]);
$new_lel_karat = LelKarat::where('lelong_id', $request->idlelong)->select('lelong_id', 'karat', 'harga2')->get()->keyBy('karat');
@@ -1003,8 +991,12 @@ class LelongController extends Controller
/** -------------UPDATE LELONG BID MARHUN------------- */
$list_lelong_bid_marhun = collect();
foreach($lelong_bid as $item)
foreach($lelong_bid->keyBy('norujukan') as $index90 => $item)
{
foreach($item->lelongBidMarhun as $index55 => $lel_bid_marhun_collect)
{
$item->lelongBidMarhun[$index55]['norujukan'] = $index90;
}
$list_lelong_bid_marhun = $list_lelong_bid_marhun->concat($item->lelongBidMarhun);
}
@@ -1024,18 +1016,12 @@ class LelongController extends Controller
$list_lelong_bid_marhun[$index]['new_n_marhun'] = $n_marhun_to_be_inserted;
$list_lelong_bid_marhun[$index]['new_hargaasas'] = $harga_asas_to_be_inserted;
// UPDATE HARGA, N_MARHUN, HARGAASAS
$cases_update_harga .= sprintf(' WHEN id = %d THEN %s ', $marhun->id, $harga_to_be_inserted);
$cases_update_n_marhun .= sprintf(' WHEN id = %d THEN %s ', $marhun->id, $n_marhun_to_be_inserted);
$cases_update_hargaasas .= sprintf(' WHEN id = %d THEN %s ', $marhun->id, $harga_asas_to_be_inserted);
}
}
dd($list_lelong_bid_marhun[100]->toArray());
$build_query_update_harga = sprintf("CASE %s END", $cases_update_harga);
$build_query_update_n_marhun = sprintf("CASE %s END", $cases_update_n_marhun);
$build_query_update_hargaasas = sprintf("CASE %s END", $cases_update_hargaasas);
@@ -1048,26 +1034,50 @@ class LelongController extends Controller
]);
/** -------------UPDATE LELONG BID------------- */
$lelong_bid_group_by_kodcaw = $lelong_bid->groupBy('kodcaw');
$list_gadai = [];
foreach($lelong_bid_group_by_kodcaw as $index => $cawangan)
$list_lelong_bid_marhun_updated = $list_lelong_bid_marhun->groupBy('lelongbid_id');
$collection_lelong_bid_marhun_updated = collect();
foreach($list_lelong_bid_marhun_updated as $index2 => $lelong_bid_updated)
{
$cawangan = $cawangan->pluck('norujukan');
$detail_gadai = Gadai::on($index)->whereIn('norujukan', $cawangan)->select('norujukan','tempoh', 'tempohbayar')->get();
$list_gadai = array_merge($list_gadai, $detail_gadai->keyBy('norujukan')->toArray());
$array_to_be_inserted = [];
$array_to_be_inserted['id'] = $index2;
$array_to_be_inserted['norujukan'] = $lelong_bid_updated[0]->norujukan;
$array_to_be_inserted['total_n_marhun'] = $lelong_bid_updated->sum('new_n_marhun');
$array_to_be_inserted['total_hargaasas'] = $lelong_bid_updated->sum('new_hargaasas');
$collection_lelong_bid_marhun_updated = $collection_lelong_bid_marhun_updated->push($array_to_be_inserted);
}
$lelong_bid_pluck_norujukan = $lelong_bid->pluck('norujukan');
$transaksi_keuntungans = TransaksiKeuntungan::whereIn('norujukan', $lelong_bid_pluck_norujukan)->select('norujukan', 'keuntungan_rebet', 'bayaran_keuntungan')->get();
$cases_update_n_marhuns_lelong_bid = '';
$cases_update_hargaasas_lelong_bid = '';
$log_user_array = [];
// update bakiupah@keuntungan
// create loguser
// update hargaasas
// update nmarhuns
return redirect()->route('home');
foreach($collection_lelong_bid_marhun_updated as $collection_lelong_bid)
{
$log_user_array_to_be_inserted = [
"user_id" => $user->id,
"date" => $currentNow->toDateTimeString(),
"username" => $user->username,
"nama_user" => $user->name,
"norujukan" => $collection_lelong_bid['norujukan'],
"nota" => "Kemaskini Harga Asas RM" . $collection_lelong_bid['total_hargaasas'],
];
array_push($log_user_array, $log_user_array_to_be_inserted);
$cases_update_n_marhuns_lelong_bid .= sprintf(' WHEN id = %d THEN %s ', $collection_lelong_bid['id'], $collection_lelong_bid['total_n_marhun']);
$cases_update_hargaasas_lelong_bid .= sprintf(' WHEN id = %d THEN %s ', $collection_lelong_bid['id'], $collection_lelong_bid['total_hargaasas']);
}
$build_query_update_nmarhuns_lelong_bid = sprintf("CASE %s END", $cases_update_n_marhuns_lelong_bid);
$build_query_update_hargaasas_lelong_bid = sprintf("CASE %s END", $cases_update_hargaasas_lelong_bid);
LelongBid::query()
->update([
'nmarhuns' => DB::raw($build_query_update_nmarhuns_lelong_bid),
'hargaasas' => DB::raw($build_query_update_hargaasas_lelong_bid),
]);
LogUser::insert($log_user_array);
return redirect()->route('lelong.show',$request->idlelong)->with('success','Kemaskini Berjaya');
}
public function janapemenang($id){