diff --git a/app/Http/Controllers/LelongController.php b/app/Http/Controllers/LelongController.php index 2a1eafaf..2ba820fd 100644 --- a/app/Http/Controllers/LelongController.php +++ b/app/Http/Controllers/LelongController.php @@ -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){