Merge branch 'fix-kemaskini-harga-emas' into 'main'
Fix kemaskini harga emas See merge request online-sistem1/lelong!405
This commit is contained in:
@@ -50,6 +50,7 @@ use App\Models\Tetapan;
|
||||
use App\Models\TransaksiKeuntungan;
|
||||
use DateTime;
|
||||
// use Nexmo\Laravel\Facade\Nexmo;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class LelongController extends Controller
|
||||
{
|
||||
@@ -944,6 +945,141 @@ class LelongController extends Controller
|
||||
->with('success','Kemaskini Berjaya');
|
||||
}
|
||||
|
||||
public function kemaskini2(Request $request)
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
$currentNow = Carbon::now();
|
||||
|
||||
$lel_karats = LelKarat::where('lelong_id', $request->idlelong)->get();
|
||||
|
||||
$insert_harga2 = $request->harga2;
|
||||
|
||||
$lelkarat_temp_arr = [];
|
||||
$cases = '';
|
||||
|
||||
foreach ($lel_karats as $index => $lel_karat) {
|
||||
if ($insert_harga2[$index]) {
|
||||
$lel_karats[$index]['harga_baru'] = $insert_harga2[$index];
|
||||
}
|
||||
$lel_karat_temp_to_be_inserted = [
|
||||
'lelong_id' => $request->idlelong,
|
||||
'karat' => $lel_karat->karat,
|
||||
'keterangan' => $lel_karat->keterangan,
|
||||
'harga' => $lel_karat->harga,
|
||||
'harga2' => $lel_karat->harga2,
|
||||
'created_at' => $currentNow,
|
||||
'updated_at' => $currentNow,
|
||||
];
|
||||
|
||||
array_push($lelkarat_temp_arr, $lel_karat_temp_to_be_inserted);
|
||||
|
||||
$cases .= sprintf(' WHEN id = %d THEN %s ', $lel_karat->id, $lel_karat->harga_baru);
|
||||
}
|
||||
|
||||
$build_query = sprintf("CASE %s END", $cases);
|
||||
|
||||
LelKarat_temp::insert($lelkarat_temp_arr);
|
||||
|
||||
LelKarat::query()->where('lelong_id', $request->idlelong)->update(['harga2' => DB::raw($build_query)]);
|
||||
|
||||
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');
|
||||
|
||||
$lelong_bid = LelongBid::with('lelongBidMarhun')->where('lelong_id', $request->idlelong)->select('id', 'kodcaw', 'norujukan')->get();
|
||||
|
||||
/** -------------UPDATE LELONG BID MARHUN------------- */
|
||||
$list_lelong_bid_marhun = collect();
|
||||
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);
|
||||
}
|
||||
|
||||
$cases_update_harga = '';
|
||||
$cases_update_n_marhun = '';
|
||||
$cases_update_hargaasas = '';
|
||||
|
||||
foreach($list_lelong_bid_marhun as $index => $marhun)
|
||||
{
|
||||
if ($new_lel_karat[$marhun->karat])
|
||||
{
|
||||
|
||||
$harga_to_be_inserted = $new_lel_karat[$marhun->karat]->harga2;
|
||||
$n_marhun_to_be_inserted = $marhun->berat * $new_lel_karat[$marhun->karat]->harga2;
|
||||
$harga_asas_to_be_inserted = round($marhun->berat * $new_lel_karat[$marhun->karat]->harga2);
|
||||
|
||||
$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;
|
||||
|
||||
$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);
|
||||
}
|
||||
|
||||
}
|
||||
$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);
|
||||
|
||||
LelongBidMarhun::query()
|
||||
->update([
|
||||
'harga' => DB::raw($build_query_update_harga),
|
||||
'n_marhun' => DB::raw($build_query_update_n_marhun),
|
||||
'hargaasas' => DB::raw($build_query_update_hargaasas)
|
||||
]);
|
||||
|
||||
/** -------------UPDATE LELONG BID------------- */
|
||||
$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)
|
||||
{
|
||||
$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);
|
||||
}
|
||||
|
||||
$cases_update_n_marhuns_lelong_bid = '';
|
||||
$cases_update_hargaasas_lelong_bid = '';
|
||||
$log_user_array = [];
|
||||
|
||||
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){
|
||||
|
||||
$current = Carbon::now();
|
||||
|
||||
Reference in New Issue
Block a user