diff --git a/app/Http/Controllers/GadaiController.php b/app/Http/Controllers/GadaiController.php index 265be34..d29163d 100644 --- a/app/Http/Controllers/GadaiController.php +++ b/app/Http/Controllers/GadaiController.php @@ -1037,7 +1037,7 @@ class GadaiController extends Controller $dateans = new Carbon($request->tarikh); - $ansurans = Transaction::on('mysql7') + $ansuranskaunter = Transaction::on('mysql7') ->leftJoin('transaksi_keuntungan as trans', function($join) { $join->on('transaction.norujukan', '=', 'trans.norujukan'); @@ -1045,13 +1045,29 @@ class GadaiController extends Controller }) ->where('transaction.kodcaw','=',$kodcaw) ->where('transaction.trans_type','=','A') + ->where('transaction.teller','<>','Online') ->whereDate('transaction.created_at','=',$dateans); - $keuntungan = $ansurans->sum('trans.bayaran_keuntungan'); - $pendahuluan = $ansurans->sum('trans.bayaran_pembiayaan'); - $bilangan = $ansurans->count(); + $ansuransonline = Transaction::on('mysql7') + ->leftJoin('transaksi_keuntungan as trans', function($join) + { + $join->on('transaction.norujukan', '=', 'trans.norujukan'); + $join->on('transaction.created_at', '=', 'trans.tarikh_bayaran'); + }) + ->where('transaction.kodcaw','=',$kodcaw) + ->where('transaction.trans_type','=','A') + ->where('transaction.teller','=','Online') + ->whereDate('transaction.created_at','=',$dateans); - $arrayansuran = ['totalpendahuluan' => $pendahuluan, 'totalkeuntungan' => $keuntungan, 'bilangan' => $bilangan]; + $keuntungankaunter = $ansuranskaunter->sum('trans.bayaran_keuntungan'); + $pendahuluankaunter = $ansuranskaunter->sum('trans.bayaran_pembiayaan'); + $bilangankaunter = $ansuranskaunter->count(); + + $keuntunganonline = $ansuransonline->sum('trans.bayaran_keuntungan'); + $pendahuluanonline = $ansuransonline->sum('trans.bayaran_pembiayaan'); + $bilanganonline = $ansuransonline->count(); + + $arrayansuran = ['totalpendahuluankaunter' => $pendahuluankaunter, 'totalkeuntungankaunter' => $keuntungankaunter, 'bilangankaunter' => $bilangankaunter,'totalpendahuluanonline' => $pendahuluanonline, 'totalkeuntunganonline' => $keuntunganonline, 'bilanganonline' => $bilanganonline]; return response()->json($arrayansuran,200); } @@ -2984,7 +3000,7 @@ class GadaiController extends Controller } $tempoh_update = $year + $month + $extensivemonth; Gadai::on($cawangan_mysql['mysql'])->where('norujukan','=',$gadai['norujukan'])->update(array( - 'jbg' => $tempoh_update, + 'jbg' => $tempoh_gadai, 'tempoh' => $tempoh_gadai )); } @@ -3096,4 +3112,16 @@ class GadaiController extends Controller return response()->json($array_totalup); } + + public function hapusGadaiNull(){ + $cawangan_all = Cawangan::on('mysql7')->get(); + + foreach($cawangan_all as $index=>$cawangan){ + $gadaiData = Gadai::on($cawangan['mysql'])->where([['nilaimarhun',null],['pinjaman',null]])->orWhere([['nilaimarhun',0.00],['pinjaman',0.00]])->pluck('norujukan'); + + $deleteMarhun = Marhun::on($cawangan['mysql'])->whereIn('norujukan',$gadaiData)->delete(); + + $deleteGadai = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$gadaiData)->delete(); + } + } } diff --git a/app/Http/Controllers/LelongController.php b/app/Http/Controllers/LelongController.php index b2fb08e..f7e9329 100644 --- a/app/Http/Controllers/LelongController.php +++ b/app/Http/Controllers/LelongController.php @@ -571,4 +571,44 @@ class LelongController extends Controller return response()->json('successful'); } + public function searchBlockLelong(Request $request){ + $cawangan = Cawangan::on('mysql7')->where('kodcaw',$request->kodcaw)->first(); + + $lelong = Lelong::on($cawangan['mysql'])->where([['norujukan',$request->norujukan]])->first(); + + return response()->json($lelong); + } + + public function updateJBGLelong(){ + $cawangan_all = Cawangan::on('mysql7')->get(); + $current = Carbon::now(); + + foreach($cawangan_all as $index=>$cawangan){ + $lelongList = Lelong::on($cawangan['mysql'])->where([['t_jual',null],['hargajual',0.00]])->get(); + + foreach($lelongList as $index=>$lelongData){ + $gadaiData = Gadai::on($cawangan['mysql'])->where('norujukan',$lelongData['norujukan'])->first(); + $tarikh_gadai = Carbon::parse($gadaiData['t_gadai']. ' 00:00:00'); + + $diff_gadai = date_diff($tarikh_gadai,$current); + $year_gadai = $diff_gadai->format("%y") * 12; + $month_gadai = $diff_gadai->format("%m"); + $days_gadai = $diff_gadai->format("%d"); + $days_gadai = $days_gadai + 1; + + if($days_gadai >= 1 && $days_gadai <= 15){ + $extensivemonth_gadai = 0.5; + } + else if($days_gadai >= 16){ + $extensivemonth_gadai = 1; + } + $tempoh_gadai = $year_gadai + $month_gadai + $extensivemonth_gadai; + + $lelong = Lelong::on($cawangan['mysql'])->where('norujukan',$lelongData['norujukan'])->update([ + 'jbg' => $tempoh_gadai + ]); + } + } + } + } diff --git a/app/Http/Controllers/TebusController.php b/app/Http/Controllers/TebusController.php index 639d45e..97f4565 100644 --- a/app/Http/Controllers/TebusController.php +++ b/app/Http/Controllers/TebusController.php @@ -99,6 +99,36 @@ class TebusController extends Controller return $upah_rebet; } + public function kiraUpahRebetSebenar($kodcaw,$norujukan){ + $cawangan = Cawangan::on('mysql7') + ->where('kodcaw','=',$kodcaw) + ->first(); + + $gadai_data = Gadai::on($cawangan['mysql']) + ->where('norujukan','=',$norujukan) + ->first(); + + $bilang_bln = $gadai_data['tempoh'] - $gadai_data['tempohbayar']; + + $upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']); + + $upah_rebet_round = number_format($upahrebet_raw,2); + if(strpos($upah_rebet_round,',')){ + $upah_rebet_round = str_replace(',','',$upah_rebet_round); + } + $upah_rebet = (float)substr($upah_rebet_round, 0, -1); + if(strpos($upah_rebet,',')){ + $upah_rebet = str_replace(',','',$upah_rebet); + } + + $total_untung_rebet = TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->sum('keuntungan_rebet'); + $total_untung_asal = TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->sum('bayaran_keuntungan'); + $beza_keuntungan = $total_untung_asal - $total_untung_rebet; + + $keuntungan_rebet_sebenar = $upah_rebet - $beza_keuntungan; + return $keuntungan_rebet_sebenar; + } + public function upahTawarruq($kodcaw,$norujukan){ $upah_semasa = $this->kiraupahTawarruq($kodcaw,$norujukan); @@ -362,7 +392,7 @@ class TebusController extends Controller 't_update' => $current->toDateString(), )); - $upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan); + $upah_rebet = $this->kiraUpahRebetSebenar($kodcaw,$norujukan); $create_tebus = Tebus::on($cawangan['mysql'])->create([ 'kodcaw'=> $kodcaw, @@ -863,13 +893,19 @@ class TebusController extends Controller $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); - $listadvansur = Advansur::on($cawangan['mysql']) - ->where('tarikh','=',$request->tarikh); + $listadvansurkaunter = Advansur::on($cawangan['mysql']) + ->where([['tarikh','=',$request->tarikh],['teller','<>','Online']]); - $countadvansur = $listadvansur->count(); - $totaladvansur = $listadvansur->sum('upahdibayar'); + $listadvansuronline = Advansur::on($cawangan['mysql']) + ->where([['tarikh','=',$request->tarikh],['teller','=','Online']]); - $arrayadvansur = ['bil' => $countadvansur, 'total' => $totaladvansur]; + $countadvansurkaunter = $listadvansurkaunter->count(); + $totaladvansurkaunter = $listadvansurkaunter->sum('upahdibayar'); + + $countadvansuronline = $listadvansuronline->count(); + $totaladvansuronline = $listadvansuronline->sum('upahdibayar'); + + $arrayadvansur = ['bilkaunter' => $countadvansurkaunter, 'totalkaunter' => $totaladvansurkaunter,'bilonline' => $countadvansuronline, 'totalonline' => $totaladvansuronline]; return response()->json($arrayadvansur,200); } diff --git a/app/Http/Controllers/TransactionOnlineController.php b/app/Http/Controllers/TransactionOnlineController.php index 849cac2..a1f4a66 100644 --- a/app/Http/Controllers/TransactionOnlineController.php +++ b/app/Http/Controllers/TransactionOnlineController.php @@ -217,4 +217,10 @@ class TransactionOnlineController extends Controller return response()->json($create_advansur ,201); } + + public function getTransactionOnlineLogin(Request $request){ + $transactionOnline = TransactionOnline::on('mysql7')->where('billplz_id',$request->billplz_id)->get(); + + return response()->json($transactionOnline); + } } diff --git a/routes/web.php b/routes/web.php index 58dd67e..3e1e7db 100644 --- a/routes/web.php +++ b/routes/web.php @@ -98,6 +98,9 @@ $router->group(['prefix'=>'api'], function () use ($router){ $router->get('check/sag',['uses'=>'GadaiController@checkNorujukan']); $router->get('updatejbgsemasa',['uses'=>'GadaiController@updateJBGsemasa']); + $router->get('updatejbglelong',['uses'=>'LelongController@updateJBGLelong']); + $router->get('search/lelong',['uses'=>'LelongController@searchBlockLelong']); + $router->get('hapus/gadai/null',['uses'=>'GadaiController@hapusGadaiNull']); //Tebus API $router->get('tebustawarruq/{kodcaw}/{norujukan}',['uses'=>'TebusController@tebusTawarruq']); @@ -217,6 +220,8 @@ $router->group(['prefix'=>'api'], function () use ($router){ $router->put('online/transaction',['uses'=>'TransactionOnlineController@updateStatus']); $router->get('transaction/online/express',['uses'=>'TransactionOnlineController@getTransactionOnline']); $router->get('transaction/online/update',['uses'=>'TransactionOnlineController@updateTransactionOnline']); + $router->get('transaction/online/login',['uses'=>'TransactionOnlineController@getTransactionOnlineLogin']); + //ANSURAN UPAH API