diff --git a/app/Console/Commands/kemaskiniLelong.php b/app/Console/Commands/kemaskiniLelong.php index ad53dc23..18c53f10 100644 --- a/app/Console/Commands/kemaskiniLelong.php +++ b/app/Console/Commands/kemaskiniLelong.php @@ -49,7 +49,7 @@ class kemaskiniLelong extends Command $currentdate = $currentdate->toDateTimeString(); $data = []; - $lelongbids = LelongBid::where('status_jual',0)->get(); + $lelongbids = LelongBid::where('status_jual',0)->where('ujrah','0')->get(); foreach($lelongbids as $index=>$lelongbid){ $gadai = Gadai::on($lelongbid->kodcaw)->where('norujukan',$lelongbid->norujukan)->first(); diff --git a/app/Console/Commands/kemaskiniLelongUjrah.php b/app/Console/Commands/kemaskiniLelongUjrah.php new file mode 100644 index 00000000..f1f9ec61 --- /dev/null +++ b/app/Console/Commands/kemaskiniLelongUjrah.php @@ -0,0 +1,176 @@ +toDateTimeString(); + $data = []; + + $lelongbids = LelongBid::where('status_jual',0)->where('ujrah','1')->get(); + // dd($lelongbids); + + foreach($lelongbids as $index=>$lelongbid){ + $gadai = Gadai::on($lelongbid->kodcaw)->where('norujukan',$lelongbid->norujukan)->first(); + $keluar_lelong = false; + $sebab_keluar = ''; + if($lelongbid->fasa == '1'){ + if($gadai->sttebus == 'T'){ + $keluar_lelong = true; + $sebab_keluar = 'T'; + }elseif($gadai->sttebus == 'L'){ + $keluar_lelong = true; + $sebab_keluar = 'L'; + } + else{ + $telahbayar = $gadai->hargajualan - $gadai->bakihargajualan; + $upah6bln_raw = $gadai->bakiupah - 0.5; + if(bcdiv($telahbayar,1,1) >= bcdiv($upah6bln_raw,1,1)){ + $keluar_lelong = true; + $sebab_keluar = 'A'; + $updategadai = Http::withOptions(['verify' => config('app.api_verify')]) + ->post(config('app.api_url').'taglel/revert',[ + 'kodcaw'=>$lelongbid->kodcaw, + 'norujukan'=>$lelongbid->norujukan + ]) + ->json(); + }else{ + $total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('keuntungan_rebet'); + $total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('bayaran_keuntungan'); + $beza_keuntungan = $total_untung_asal - $total_untung_rebet; + if($gadai->tempohbayar == $gadai->tempoh ){ + $keuntungan = 0.00; + }else{ + + //kiraan keuntungan ujrah + $jeniskeuntungan = 'onepercent'; + $keuntungan = Http::get(config('app.api_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json(); + + } + $checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan) + ->where('xlaku', 1) + ->first(); + if (!$checkdataxlaku) { + $lelongbid->jbg = $gadai->tempoh; + $lelongbid->pinjaman = $gadai->bakipjm; + $lelongbid->bakiupah = $keuntungan; + $lelongbid->save(); + } + } + } + }else{ + if($gadai->sttebus == 'T'){ + $keluar_lelong = true; + $sebab_keluar = 'T'; + }elseif($gadai->sttebus == 'L'){ + $keluar_lelong = true; + $sebab_keluar = 'L'; + }else{ + $total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('keuntungan_rebet'); + $total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('bayaran_keuntungan'); + $beza_keuntungan = $total_untung_asal - $total_untung_rebet; + if($gadai->tempohbayar == 12){ + $keuntungan = 0.00; + } + elseif($gadai->tempohbayar == $gadai->tempoh ){ + $keuntungan = 0.00; + } + else{ + + //kiraan keuntungan ujrah + $jeniskeuntungan = 'onepercent'; + $keuntungan = Http::get(config('app.api_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json(); + + } + $checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan) + ->where('xlaku', 1) + ->first(); + if (!$checkdataxlaku) { + $lelongbid->jbg = $gadai->tempoh; + $lelongbid->pinjaman = $gadai->bakipjm; + $lelongbid->bakiupah = $keuntungan; + $lelongbid->save(); + } + } + } + + if($keluar_lelong == true){ + $lelongtebus = new LelongTebus; + $lelongtebus->tarikh = $currentdate; + $lelongtebus->kodcaw = $lelongbid->kodcaw; + $lelongtebus->teller = 'System'; + $lelongtebus->norujukan = $lelongbid->norujukan; + $lelongtebus->batch_no = $lelongbid->lelong_id; + $lelongtebus->nilaimarhun = $lelongbid->nilaimarhun; + $lelongtebus->pinjaman = $gadai->bakipjm; + $lelongtebus->upah = $gadai->bakiupah; + $lelongtebus->jbg = $gadai->tempoh; + $lelongtebus->jenis_tebus = $sebab_keluar; + $lelongtebus->save(); + + $loguser = new LogUser; + $loguser->user_id = User::where('name','System')->first()->id; + $loguser->date = $currentdate; + $loguser->username = 'System'; + $loguser->nama_user = 'System'; + $loguser->norujukan = $gadai->norujukan; + $loguser->nota = $sebab_keluar == 'A' ? ' KELUAR LELONG '.$lelongbid->lelong_id : ' TEBUS LELONG '.$lelongbid->lelong_id ; + $loguser->save(); + + $lelongbid->delete(); + }else{ + $loguser = new LogUser; + $loguser->user_id = User::where('name','System')->first()->id; + $loguser->date = $currentdate; + $loguser->username = 'System'; + $loguser->nama_user = 'System'; + $loguser->norujukan = $gadai->norujukan; + $loguser->nota = $lelongbid->lelong_id.' Kemaskini Tempoh/Bakipjm/Keuntungan' ; + $loguser->save(); + } + + } + } +} diff --git a/app/Http/Controllers/SimulasiUjrahController.php b/app/Http/Controllers/SimulasiUjrahController.php index dc4c4f8a..24536b67 100644 --- a/app/Http/Controllers/SimulasiUjrahController.php +++ b/app/Http/Controllers/SimulasiUjrahController.php @@ -19,6 +19,8 @@ use App\Models\LelongTebus; use App\Models\LogUser; use App\Models\TransaksiKeuntungan; use App\Models\Customer; +use App\Models\SimKarat_temp; +use Illuminate\Support\Facades\DB; use Illuminate\Http\Request; @@ -909,5 +911,144 @@ class SimulasiUjrahController extends Controller return view('simulasiujrah.listsagbycust',compact('simulasilel','cawanganDetail','marhuns','simulasi_id','cawid','ktlhbyr')); } + public function kemaskini2(Request $request) + { + $user = Auth::user(); + + $currentNow = Carbon::now(); + + $sim_karats = SimKarat::where('simulasi_id', $request->idsimulasi)->get(); + + $insert_harga2 = $request->harga2; + + $simkarat_temp_arr = []; + $cases = ''; + + foreach ($sim_karats as $index => $sim_karat) { + if ($insert_harga2[$index]) { + $sim_karats[$index]['harga_baru'] = $insert_harga2[$index]; + } + $sim_karat_temp_to_be_inserted = [ + 'simulasi_id' => $request->idsimulasi, + 'karat' => $sim_karat->karat, + 'keterangan' => $sim_karat->keterangan, + 'harga' => $sim_karat->harga, + 'harga2' => $sim_karat->harga2, + 'created_at' => $currentNow, + 'updated_at' => $currentNow, + ]; + + array_push($simkarat_temp_arr, $sim_karat_temp_to_be_inserted); + + $cases .= sprintf(' WHEN id = %d THEN %s ', $sim_karat->id, $sim_karat->harga_baru); + } + + $build_query = sprintf("CASE %s END", $cases); + + SimKarat_temp::insert($simkarat_temp_arr); + + SimKarat::query()->where('simulasi_id', $request->idsimulasi)->update(['harga2' => DB::raw($build_query)]); + + Simulasi::find($request->idsimulasi)->update(['harga_emas_asas' => $request->harga2[3]]); + + $new_sim_karat = SimKarat::where('simulasi_id', $request->idsimulasi)->select('simulasi_id', 'karat', 'harga2')->get()->keyBy('karat'); + + $simulasi_bid = SimulasiBid::with('simulasiBidMarhun')->where('simulasi_id', $request->idsimulasi)->select('id', 'kodcaw', 'norujukan')->get(); + + /** -------------UPDATE SIMULASI BID MARHUN------------- */ + $list_simulasi_bid_marhun = collect(); + foreach($simulasi_bid->keyBy('norujukan') as $index90 => $item) + { + foreach($item->simulasiBidMarhun as $index55 => $lel_bid_marhun_collect) + { + $item->simulasiBidMarhun[$index55]['norujukan'] = $index90; + } + $list_simulasi_bid_marhun = $list_simulasi_bid_marhun->concat($item->simulasiBidMarhun); + } + + $cases_update_harga = ''; + $cases_update_n_marhun = ''; + $cases_update_hargaasas = ''; + $simulasi_bid_marhun_array = []; + + foreach($list_simulasi_bid_marhun as $index => $marhun) + { + array_push($simulasi_bid_marhun_array, $marhun->id); + if ($new_sim_karat[$marhun->karat]) + { + + $harga_to_be_inserted = $new_sim_karat[$marhun->karat]->harga2; + $n_marhun_to_be_inserted = $marhun->berat * $new_sim_karat[$marhun->karat]->harga2; + $harga_asas_to_be_inserted = round($marhun->berat * $new_sim_karat[$marhun->karat]->harga2); + + $list_simulasi_bid_marhun[$index]['new_n_marhun'] = $n_marhun_to_be_inserted; + $list_simulasi_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); + + SimulasiBidMarhun::query()->whereIn('id', $simulasi_bid_marhun_array) + ->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 SIMULASI BID------------- */ + $list_simulasi_bid_marhun_updated = $list_simulasi_bid_marhun->groupBy('simulasibid_id'); + $collection_simulasi_bid_marhun_updated = collect(); + + foreach($list_simulasi_bid_marhun_updated as $index2 => $simulasi_bid_updated) + { + $array_to_be_inserted = []; + $array_to_be_inserted['id'] = $index2; + $array_to_be_inserted['norujukan'] = $simulasi_bid_updated[0]->norujukan; + $array_to_be_inserted['total_n_marhun'] = $simulasi_bid_updated->sum('new_n_marhun'); + $array_to_be_inserted['total_hargaasas'] = $simulasi_bid_updated->sum('new_hargaasas'); + $collection_simulasi_bid_marhun_updated = $collection_simulasi_bid_marhun_updated->push($array_to_be_inserted); + } + + // $cases_update_n_marhuns_simulasi_bid = ''; + $cases_update_hargaasas_simulasi_bid = ''; + $log_user_array = []; + + foreach($collection_simulasi_bid_marhun_updated as $collection_simulasi_bid) + { + $log_user_array_to_be_inserted = [ + "user_id" => $user->id, + "date" => $currentNow->toDateTimeString(), + "username" => $user->username, + "nama_user" => $user->name, + "norujukan" => $collection_simulasi_bid['norujukan'], + "nota" => "Simulasi, Kemaskini Harga Asas RM" . $collection_simulasi_bid['total_hargaasas'], + 'created_at' => $currentNow, + 'updated_at' => $currentNow, + ]; + array_push($log_user_array, $log_user_array_to_be_inserted); + // $cases_update_n_marhuns_simulasi_bid .= sprintf(' WHEN id = %d THEN %s ', $collection_simulasi_bid['id'], $collection_simulasi_bid['total_n_marhun']); + $cases_update_hargaasas_simulasi_bid .= sprintf(' WHEN id = %d THEN %s ', $collection_simulasi_bid['id'], $collection_simulasi_bid['total_hargaasas']); + } + + // $build_query_update_nmarhuns_simulasi_bid = sprintf("CASE %s END", $cases_update_n_marhuns_simulasi_bid); + $build_query_update_hargaasas_simulasi_bid = sprintf("CASE %s END", $cases_update_hargaasas_simulasi_bid); + + SimulasiBid::query()->where('simulasi_id', $request->idsimulasi) + ->update([ + // 'nmarhuns' => DB::raw($build_query_update_nmarhuns_simulasi_bid), + 'hargaasas' => DB::raw($build_query_update_hargaasas_simulasi_bid), + ]); + + LogUser::insert($log_user_array); + + return redirect()->route('analisaujrah.show',$request->idsimulasi)->with('success','Kemaskini Harga Emas Berjaya'); + } + } diff --git a/resources/views/simulasiujrah/showsimulasi.blade.php b/resources/views/simulasiujrah/showsimulasi.blade.php index d77eb647..f1563bd5 100644 --- a/resources/views/simulasiujrah/showsimulasi.blade.php +++ b/resources/views/simulasiujrah/showsimulasi.blade.php @@ -281,7 +281,7 @@
-
+ @csrf
Sila Tunggu Sebentar...
diff --git a/routes/web.php b/routes/web.php index 2c11970f..4ba2e4a2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -128,6 +128,7 @@ Route::group(['middleware' => ['permission:analisaujrah'],'prefix'=>'analisaujra Route::get('/deletesimulasi/{id}',['as'=>'analisaujrah.delete','uses'=>'SimulasiUjrahController@delete']); Route::get('/senaraimarhunlel/{simulasi_id}/{cawid}',['as'=>'analisaujrah.senaraimarhunlel','uses'=>'SimulasiUjrahController@senaraimarhunlel']); Route::get('/listsagbycust/{simulasi_id}/{cawid}',['as'=>'analisaujrah.listsagbycust','uses'=>'SimulasiUjrahController@listsagbycust']); + Route::post('/kemaskini',['as'=>'analisaujrah.kemaskiniharga','uses'=>'SimulasiUjrahController@kemaskini2']); }); Route::group(['middleware' => ['permission:sistem'],'prefix'=>'sistem'], function () { @@ -361,6 +362,9 @@ Route::group(['middleware' => ['permission:pengesahanpembida'],'prefix'=>'pembid Route::get('/statusserahanbidaan',['as'=>'pembida.statusserahanbidaan','uses'=>'PembidaController@statusserahanbidaan']); Route::get('/statusserahanbypembida',['as'=>'pembida.statusserahanbypembida','uses'=>'PembidaController@statusserahanbypembida']); + // Route::get('/pemenangkedua',['as'=>'pembida.pemenangkedua','uses'=>'PembidaController@pemenangkedua']); + // Route::get('/senaraipemenangkedua/{lelong_id}/{kodcaw}',['as'=>'pembida.senaraipemenangkedua','uses'=>'PembidaController@senaraipemenangkedua']); + // Route::get('/listpemenangkedua/{lelong_id}/{kodcaw}/{user_id}',['as'=>'pembida.listpemenangkedua','uses'=>'PembidaController@listpemenangkedua']); // Route::get('/grafpembida',['as'=>'pembida.grafpembida','uses'=>'PembidaController@grafpembida']);