diff --git a/app/Http/Controllers/PayableUjrahBranchController.php b/app/Http/Controllers/PayableUjrahBranchController.php new file mode 100644 index 0000000..505242b --- /dev/null +++ b/app/Http/Controllers/PayableUjrahBranchController.php @@ -0,0 +1,121 @@ +get()->toJson(); + + return json_encode($payableUjrahBranch); + } + + public function create(Request $request) + { + $validated_data = $request->validate([ + 'details_caw' => 'required', + 'kodcaw' => 'required', + ]); + + $created_branch = PayableUjrahBranch::create($validated_data); + + return response(json_encode($created_branch), 200); + } + + public function syncStatus(Request $request) + { + + $getDetailCawanganFromKodCaw = function($kodcaw){ + $cawangan_details = Cawangan::all(['kodcaw', 'details_caw']); + return $cawangan_details->where('kodcaw', $kodcaw)->first()->details_caw; + }; + + // payable ujrah updates + $previous_payable_ujrah_branch = PayableUjrahBranch::select('kodcaw as branch', 'gadaian_ujrah_payable')->get(); + + $payable_ujrah_branch = collect($request->gadai_ujrah_payable_branches); + + $payable_ujrah_branch_updates = $this->findDiff($previous_payable_ujrah_branch, $payable_ujrah_branch, 'branch'); + + $payable_ujrah_branch_updates->each(function ($item, $key) { + PayableUjrahBranch::where('kodcaw', $key)->update(['gadaian_ujrah_payable' => $item['gadaian_ujrah_payable']]); + }); + + $generateUpdateMessagePayableUjrahBranch = function($updateData) use($getDetailCawanganFromKodCaw){ + + return $updateData->map(function($item, $index) use($getDetailCawanganFromKodCaw) { + $cawanganName = $getDetailCawanganFromKodCaw($index); + + $gadaian_ujrah_payable_note = $item['gadaian_ujrah_payable'] === 0 ? 'gadaian ujrah payment disabled' : 'gadaian ujrah payment enabled'; + + return "$cawanganName $gadaian_ujrah_payable_note"; + }); + + }; + + + // tawarruq version updates + $previous_branch_tawarruq_version = Cawangan::select('kodcaw as branch', 'version as tawarruq_version')->get(); + + $branch_tawarruq_version = collect($request->branch_tawarruq_version); + + $arrahn_master_db_updates = $this->findDiff($previous_branch_tawarruq_version, $branch_tawarruq_version, 'branch'); + + $arrahn_master_db_updates->each(function ($item, $key) { + Cawangan::where('kodcaw', $key)->update(['version' => $item['tawarruq_version']]); + }); + + $generateUpdateMessageTawarruqVersion = function($updateData) use($getDetailCawanganFromKodCaw){ + + return $updateData->map(function($item, $index) use($getDetailCawanganFromKodCaw) { + $cawanganName = $getDetailCawanganFromKodCaw($index); + + $tawarruq_version = $item['tawarruq_version']; + return "$cawanganName change to use tawarruq version : $tawarruq_version"; + }); + + }; + + return response()->json([ + 'status' => 'success', + 'updates_done' => [ + 'updated_branch_tawarruq_version' => $generateUpdateMessageTawarruqVersion($arrahn_master_db_updates), + 'updated_payable_ujrah' => $generateUpdateMessagePayableUjrahBranch($payable_ujrah_branch_updates), + ] + ]); + } + + + + public function delete() + { + } + + // SUPPORTING METHODS + public function findDiff(Collection $collectionA, Collection $collectionB, $compare_key = 'id') + { + // Filter and find differences + $differences = $collectionA->mapWithKeys(function ($itemA) use ($collectionB, $compare_key) { + $itemB = $collectionB->firstWhere($compare_key, $itemA[$compare_key]); + + if ($itemB) { + $diff = collect($itemB)->diffAssoc($itemA); + if ($diff->isNotEmpty()) { + return [$itemA[$compare_key] => $diff]; + } + } else { + return [$itemA[$compare_key] => collect($itemA)]; + } + + return []; + })->filter(); + + return $differences; + } +} diff --git a/app/Http/Controllers/TransactionOnlineController.php b/app/Http/Controllers/TransactionOnlineController.php index 19c0bfe..4a33b2c 100644 --- a/app/Http/Controllers/TransactionOnlineController.php +++ b/app/Http/Controllers/TransactionOnlineController.php @@ -15,8 +15,12 @@ use Carbon\Carbon; use App\Services\OnePercentServices; use Log; use Illuminate\Support\Facades\DB; +use Illuminate\Http\Request as HttpRequest; +use App\Support\v2\GadaiV2 as Version2Gadai; +use App\Support\v2\Calculation; use App\Http\Controllers\TebusController as TebusController; +use Illuminate\Support\Facades\Http; class TransactionOnlineController extends Controller { @@ -80,12 +84,12 @@ class TransactionOnlineController extends Controller $gadai_data = Gadai::on($cawangan['mysql'])->where([['norujukan',$transaction['norujukan']],['nokp',$transaction['nokp']]])->first(); if($transaction->jenisbayaran == 'A'){ if($gadai_data['hargajualan'] > 0){ - $this->updateGadaiMarhunKaunter($transaction['kodcaw'],$transaction['norujukan'],$transaction['total_payment'],$transaction['paid_at'],$transaction['tempohbayar']); + $response = $this->updateGadaiMarhunOnline($transaction['kodcaw'],$transaction['norujukan'],$transaction['total_payment'],$transaction['paid_at'],$transaction['tempohbayar']); }else{ $this->createAdvansur($transaction['kodcaw'],$transaction['norujukan'],$transaction['total_payment'],$transaction['paid_at']); } } - + GlDetail::on($cawangan['mysql'])->create([ 'kodcaw' => $transaction['kodcaw'], @@ -151,7 +155,140 @@ class TransactionOnlineController extends Controller return $upah_rebet; } - public function updateGadaiMarhunKaunter($kodcaw,$norujukan,$bayaran,$paid_at,$tempohbayar){ + // public function updateGadaiMarhunKaunter($kodcaw,$norujukan,$bayaran,$paid_at,$tempohbayar){ + // $current = Carbon::now(); + // $current = new Carbon(); + + // $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + // $gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first(); + + // if($tempohbayar == 0.0){ + // $tempohbayar = $gadai['tempoh']; + // } + + // $upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan,$tempohbayar); + // $upahrebet = $this->kiraUpahRebet($kodcaw,$norujukan,$tempohbayar); + + // $total_bayaran_prev = Transaction::on('mysql7')->where([['norujukan','=',$norujukan],['trans_type','=','A']])->sum('duit_masuk'); + + // $total_bayaran_semasa = $total_bayaran_prev + $bayaran; + + // if($total_bayaran_semasa >= $gadai['bakiupah']){ + // $lelong_tawarruq = 0; + // }else{ + // $lelong_tawarruq = 1; + // } + // $onepercent = new OnePercentServices(); + + // $old_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first(); + // $margin_semasa = ($gadai['bakipjm'] / $gadai['nilaimarhun']) * 100; + // $keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$margin_semasa); + // $ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['margin_semasa']); + + // if($gadai['tagbaru'] == 1){ + // $upah_semasa = $keuntungan; + // } + + // $baki_hargajualan = $gadai['bakihargajualan'] - $bayaran; + + // $baki_bayaran = $bayaran - $upahsemasa; + // //$baki_bayaran = $bayaran - $upah_semasa; + + // $baki_pinjaman = $gadai['bakipjm'] - $baki_bayaran; + + // $margin_semasa = ($gadai['bakipjm'] / $gadai['nilaimarhun']) * 100; + + // $keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$margin_semasa); + // $ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['margin_semasa']); + + // $onepercentasal = $gadai['pinjaman'] * (1/100); + + // try { + + // DB::connection('mysql7')->transaction(function () use($onepercentasal,$ujrahasal,$keuntungan,$norujukan,$gadai,$kodcaw,$current,$baki_hargajualan,$upahsemasa,$baki_bayaran,$upahrebet,$cawangan,$old_data,$baki_pinjaman,$lelong_tawarruq,$margin_semasa,$bayaran,$upah_semasa) { + + // $transaction = Transaction::on('mysql7')->create([ + // 'trans_type' => 'A', + // 'norujukan' => $norujukan, + // 'nokp' => $gadai['nokp'], + // 'teller' => 'Online', + // 'kodcaw' => $kodcaw, + // 'duit_masuk' => $bayaran, + // 'created_at' => $current, + // 'bakiharga' => $baki_hargajualan, + // ]); + + // if($gadai['tempoh'] >= 12.0){ + // $tempoh = 12; + // }else{ + // $tempoh = $gadai['tempoh']; + // } + // $bilang_bln = $tempoh - $gadai['tempohbayar']; + + + + // $transaction_upah = TransaksiKeuntungan::on('mysql7')->create([ + // 'norujukan' => $norujukan, + // 'bayaran_keuntungan' => $upahsemasa, + // 'bayaran_pembiayaan' => $baki_bayaran, + // 'keuntungan_rebet'=> $upahrebet, + // 'tarikh_bayaran'=> $current, + // 'kodcaw'=> $kodcaw, + // 'ujrah' => ($keuntungan['ujrah'] * $bilang_bln), + // 'ujrah_rebet' => ($ujrahasal*$bilang_bln), + // 'onepercent' => ($onepercentasal * $bilang_bln), + // 'onepercent_rebet' => ($keuntungan['onepercent'] * $bilang_bln), + // 'tempoh' => $gadai['tempoh'], + // 'beza_tempoh' => $bilang_bln, + // 'margin_semasa' => $margin_semasa, + // ]); + // + + + // DB::connection($cawangan['mysql'])->transaction(function () use($cawangan,$baki_pinjaman,$current,$norujukan,$gadai,$baki_hargajualan,$lelong_tawarruq,$margin_semasa){ + + // $margin_updated = ($baki_pinjaman / $gadai['nilaimarhun']) * 100; + + // $update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array( + // 'bakipjm' => $baki_pinjaman, + // 'jbg' => 0, + // 't_update' => $current->toDateString(), + // 'bakihargajualan' => $baki_hargajualan, + // 'tempohbayar' => $gadai['tempoh'], + // 'lelong_tawarruq' => $lelong_tawarruq, + // 'margin_semasa' => $margin_updated, + // )); + // }); + + // $new_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first(); + + // $audit = new Audit(); + // $audit->users = 'Online'; + // $audit->actions = 'Bayaran Ansuran'; + // $audit->norujukan = $norujukan; + // $audit->new_data = $new_data; + // $audit->old_data = $old_data; + // $audit->kodcaw = $kodcaw; + // $audit->created_at = $current; + // $audit->updated_at = $current; + // $audit->save(); + + // if(!$transaction || !$transaction_upah) { + // throw new \Exception('One of the database operations failed.'); + // } + + // DB::commit(); + + // }); + // }catch(\Exception $e){ + // Log::error("Transaction failed: " . $e->getMessage()); + // return response()->json("Transaction failed: " . $e->getMessage(),500); + // } + + // return response()->json("success",200); + // } + + public function updateGadaiMarhunOnline($kodcaw,$norujukan,$bayaran,$paid_at,$tempohbayar){ $current = Carbon::now(); $current = new Carbon(); @@ -162,8 +299,7 @@ class TransactionOnlineController extends Controller $tempohbayar = $gadai['tempoh']; } - $upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan,$tempohbayar); - $upahrebet = $this->kiraUpahRebet($kodcaw,$norujukan,$tempohbayar); + $upahrebet = $this->kiraUpahRebet($kodcaw,$norujukan,$tempohbayar); $total_bayaran_prev = Transaction::on('mysql7')->where([['norujukan','=',$norujukan],['trans_type','=','A']])->sum('duit_masuk'); @@ -178,29 +314,14 @@ class TransactionOnlineController extends Controller $old_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first(); $margin_semasa = ($gadai['bakipjm'] / $gadai['nilaimarhun']) * 100; - $keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$margin_semasa); - $ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['margin_semasa']); - if($gadai['tagbaru'] == 1){ - $upah_semasa = $keuntungan; - } - $baki_hargajualan = $gadai['bakihargajualan'] - $bayaran; - $baki_bayaran = $bayaran - $upahsemasa; - - $baki_pinjaman = $gadai['bakipjm'] - $baki_bayaran; - $margin_semasa = ($gadai['bakipjm'] / $gadai['nilaimarhun']) * 100; - $keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$margin_semasa); - $ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['margin_semasa']); - - $onepercentasal = $gadai['pinjaman'] * (1/100); - try { - DB::connection('mysql7')->transaction(function () use($onepercentasal,$ujrahasal,$keuntungan,$norujukan,$gadai,$kodcaw,$current,$baki_hargajualan,$upahsemasa,$baki_bayaran,$upahrebet,$cawangan,$old_data,$baki_pinjaman,$lelong_tawarruq,$margin_semasa,$bayaran) { + DB::connection('mysql7')->transaction(function () use($norujukan,$gadai,$kodcaw,$current,$baki_hargajualan,$cawangan,$old_data,$lelong_tawarruq,$margin_semasa,$bayaran,$tempohbayar) { $transaction = Transaction::on('mysql7')->create([ 'trans_type' => 'A', @@ -220,22 +341,65 @@ class TransactionOnlineController extends Controller } $bilang_bln = $tempoh - $gadai['tempohbayar']; - $transaction_upah = TransaksiKeuntungan::on('mysql7')->create([ - 'norujukan' => $norujukan, - 'bayaran_keuntungan' => $upahsemasa, - 'bayaran_pembiayaan' => $baki_bayaran, - 'keuntungan_rebet'=> $upahrebet, - 'tarikh_bayaran'=> $current, - 'kodcaw'=> $kodcaw, - 'ujrah' => ($keuntungan['ujrah'] * $bilang_bln), - 'ujrah_rebet' => ($ujrahasal*$bilang_bln), - 'onepercent' => ($onepercentasal * $bilang_bln), - 'onepercent_rebet' => ($keuntungan['onepercent'] * $bilang_bln), - 'tempoh' => $gadai['tempoh'], - 'beza_tempoh' => $bilang_bln, - 'margin_semasa' => $margin_semasa, - ]); + if($gadai['tagbaru'] == 0){ + $upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan,$tempohbayar); + $baki_bayaran = $bayaran - $upahsemasa; + $upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan,$tempohbayar); + $upahrebet = $this->kiraUpahRebet($kodcaw,$norujukan,$tempohbayar); + $transaction_upah = TransaksiKeuntungan::on('mysql7')->create([ + 'norujukan' => $norujukan, + 'bayaran_keuntungan' => $upahsemasa, + 'bayaran_pembiayaan' => $baki_bayaran, + 'keuntungan_rebet'=> $upahrebet, + 'tarikh_bayaran'=> $current, + 'kodcaw'=> $kodcaw, + 'ujrah' => 0, + 'ujrah_rebet' => 0, + 'onepercent' => 0, + 'onepercent_rebet' => 0, + 'tempoh' => $gadai['tempoh'], + 'beza_tempoh' => $bilang_bln, + 'margin_semasa' => $margin_semasa, + ]); + } else { + $onepercent = new OnePercentServices(); + $keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$margin_semasa); + $ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['percentpinj']); + $onepercentasal = $gadai['pinjaman'] * (1/100); + + $gadaionepercent = new Version2Gadai($kodcaw,$cawangan); + + $upahsemasa = $gadaionepercent->kiraupahOnePercent($norujukan); + $upahrebet = $gadaionepercent->kiraUpahRebet($norujukan); + $baki_bayaran = $bayaran - $upahsemasa; + + $ujrah_calculation = $this->getUjrah($kodcaw, $norujukan); + + $onepercent = new Calculation(); + $ujrah = $onepercent->getRoundedMethod($ujrahasal * $bilang_bln); + $ujrah_rebate = $onepercent->getRoundedMethod($ujrah_calculation['ujrah_sebenar'] - $ujrah_calculation['ujrah_rebet']); + $keun = $onepercent->getRoundedMethod($onepercentasal * $bilang_bln); + $keuntungan_rebate = $onepercent->getRoundedMethod($keuntungan['onepercent'] * $bilang_bln); + + $transaction_upah = TransaksiKeuntungan::on('mysql7')->create([ + 'norujukan' => $norujukan, + 'bayaran_keuntungan' => $upahsemasa, + 'bayaran_pembiayaan' => $baki_bayaran, + 'keuntungan_rebet'=> $upahrebet, + 'tarikh_bayaran'=> $current, + 'kodcaw'=> $kodcaw, + 'ujrah' => $ujrah, + 'ujrah_rebet' => $ujrah_rebate, + 'onepercent' => $keun, + 'onepercent_rebet' => $keuntungan_rebate, + 'tempoh' => $gadai['tempoh'], + 'beza_tempoh' => $bilang_bln, + 'margin_semasa' => $margin_semasa, + ]); + } + + $baki_pinjaman = $gadai['bakipjm'] - $baki_bayaran; DB::connection($cawangan['mysql'])->transaction(function () use($cawangan,$baki_pinjaman,$current,$norujukan,$gadai,$baki_hargajualan,$lelong_tawarruq,$margin_semasa){ $margin_updated = ($baki_pinjaman / $gadai['nilaimarhun']) * 100; @@ -268,6 +432,7 @@ class TransactionOnlineController extends Controller throw new \Exception('One of the database operations failed.'); } + DB::commit(); }); @@ -276,7 +441,8 @@ class TransactionOnlineController extends Controller return response()->json("Transaction failed: " . $e->getMessage(),500); } - return response()->json("success",200); + return response()->json("success",200); + } public function createAdvansur($kodcaw,$norujukan,$bayaran,$paid_at){ @@ -322,7 +488,7 @@ class TransactionOnlineController extends Controller $current = new Carbon(); $boolmasa = false; $transaction_online = TransactionOnline::on('mysql7')->where([['norujukan',$request->norujukan],['status','PAID'],['update_status',0],['tarikh',$current->toDateString()]])->first(); - + $transaction_masa = TransactionOnline::on('mysql7')->where([['norujukan',$request->norujukan],['status','NOT PAID'],['tarikh',$current->toDateString()]]) ->orderBy('masa', 'desc')->first(); @@ -332,7 +498,7 @@ class TransactionOnlineController extends Controller $carbonmasaexpired->addMinutes(10); $boolmasa = ($carbonmasaexpired->greaterThanOrEqualTo($current) && $carbonmasa->lessThanOrEqualTo($current)) ? true : false; - } + } if($transaction_online || $boolmasa){ return response()->json(true); @@ -355,7 +521,7 @@ class TransactionOnlineController extends Controller return response()->json($transaction,200); } - + public function CustomerInfo(Request $request){ $cawangan_all = Cawangan::on('mysql7')->get(); @@ -368,17 +534,28 @@ class TransactionOnlineController extends Controller ->where([['sttebus','=',''],['taglel',0],['nokp','=',$request->ic]]) ->orderBy('t_gadai','desc') ->get()->toArray(); + //dd($gadai, $cawangan); if(sizeof($gadai) != 0){ foreach($gadai as $gad) { + if($gad['tagbaru'] == 1){ $jenis = 'onepercent'; }else{ $jenis = 'asal'; } - $result = (new TebusController)->kiraupahTawarruq($gad['kodcaw'],$gad['norujukan'],$jenis); - $gad['keuntungan'] = $result; + $array_utg = new \Illuminate\Http\Request([ + 'jeniskeuntungan' => $jenis + ]); + + $result = (new TebusController)->upahTawarruq($gad['kodcaw'],$gad['norujukan'],$array_utg); + + if($jenis == 'onepercent') { + $gad['keuntungan'] = $result['pendapatan']; + } else { + $gad['keuntungan'] = $result; + } array_push($gadai_all,$gad); } } @@ -398,7 +575,7 @@ class TransactionOnlineController extends Controller if(sizeof($akanlelong) != 0){ foreach($akanlelong as $lelong) { - $result = (new TebusController)->kiraupahTawarruq($lelong['kodcaw'],$lelong['norujukan']); + $result = (new TebusController)->kiraupahTawarruq($lelong['kodcaw'],$lelong['norujukan'],$array_utg); $lelong['keuntungan'] = $result; array_push($akanlelongarray,$lelong); } @@ -411,7 +588,7 @@ class TransactionOnlineController extends Controller 'lelong' => $akanlelongarray ),200); } - + public function updateTagPortal(Request $request){ $transaction = TransactionOnline::on('mysql7')->where('billplz_id','=',$request->billplz_id)->update(array( 'tagportal' => 1 @@ -420,4 +597,37 @@ class TransactionOnlineController extends Controller return response()->json($transaction,200); } + public function getUjrah($kodcaw, $norujukan) + { + + try { + $base_url = config('app.url'); + + $gadai = Http::get($base_url . "/api/gadai/norujukan/$kodcaw/$norujukan")->json()[0]; + $jenis_keuntungan = $gadai['tagbaru'] === 1 ? 'onepercent' : 'asal'; + + + $upah_tawarruq = Http::get($base_url . "/api/upahtawarruq/$kodcaw/$norujukan", ['jeniskeuntungan' => $jenis_keuntungan])->json(); + $upah_rebet_tawarruq = Http::get($base_url . "/api/upahrebettawarruq/$kodcaw/$norujukan", ['jeniskeuntungan' => $jenis_keuntungan])->json(); + + if($jenis_keuntungan === 'onepercent'){ + $ujrah_sebenar = (float)$upah_tawarruq['ujrah']; + $ujrah_rebet = $ujrah_sebenar - (float)$upah_rebet_tawarruq['ujrah']; + + return [ + 'ujrah_sebenar' => $ujrah_sebenar, + 'ujrah_rebet' => $ujrah_rebet, + ]; + } + + return [ + 'ujrah_sebenar' => (float)$upah_tawarruq, + 'ujrah_rebet' => (float)$upah_rebet_tawarruq, + ]; + + } catch (\Throwable $th) { + Log::error($th); + } + } + } diff --git a/app/PayableUjrahBranch.php b/app/PayableUjrahBranch.php new file mode 100644 index 0000000..c2ce802 --- /dev/null +++ b/app/PayableUjrahBranch.php @@ -0,0 +1,20 @@ +belongsTo(Cawangan::class, 'kodcaw', 'kodcaw'); + } +} diff --git a/database/migrations/2024_05_16_093658_add_payable_ujrah_branches_table.php b/database/migrations/2024_05_16_093658_add_payable_ujrah_branches_table.php new file mode 100644 index 0000000..3b1ffa5 --- /dev/null +++ b/database/migrations/2024_05_16_093658_add_payable_ujrah_branches_table.php @@ -0,0 +1,187 @@ +bigIncrements('id'); + $table->string('details_caw'); + $table->string('kodcaw'); + $table->boolean('gadaian_ujrah_payable')->default(false); + $table->timestamps(); + }); + + $this->getBranches()->each(function($branch) { + PayableUjrahBranch::create([ + 'details_caw' => $branch['details_caw'], + 'kodcaw' => $branch['kodcaw'], + ]); + }); + + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('payable_ujrah_branches'); + } + + public function getBranches() + { + $branches = [ + [ + "details_caw" => "Kota Bharu 2", + "kodcaw" => "KB2" + ], + [ + "details_caw" => "Wakaf Che Yeh", + "kodcaw" => "WCY" + ], + [ + "details_caw" => "1 Stop", + "kodcaw" => "1STOP" + ], + [ + "details_caw" => "Jelawat", + "kodcaw" => "020301" + ], + [ + "details_caw" => "Wakaf Bharu", + "kodcaw" => "WB" + ], + [ + "details_caw" => "Kok Lanas", + "kodcaw" => "ALS" + ], + [ + "details_caw" => "Pasir Puteh", + "kodcaw" => "020306" + ], + [ + "details_caw" => "Machang", + "kodcaw" => "ARM" + ], + [ + "details_caw" => "Pasir Mas", + "kodcaw" => "APM" + ], + [ + "details_caw" => "Gua Musang", + "kodcaw" => "010311" + ], + [ + "details_caw" => "Guchil", + "kodcaw" => "GC" + ], + [ + "details_caw" => "Jeli", + "kodcaw" => "JLI" + ], + [ + "details_caw" => "Rantau Panjang", + "kodcaw" => "ARP" + ], + [ + "details_caw" => "Kuantan", + "kodcaw" => "010621" + ], + [ + "details_caw" => "Pasir Gudang", + "kodcaw" => "010136" + ], + [ + "details_caw" => "Skudai", + "kodcaw" => "011235" + ], + [ + "details_caw" => "Putatan", + "kodcaw" => "011227" + ], + [ + "details_caw" => "Bentong", + "kodcaw" => "010620" + ], + [ + "details_caw" => "Raub", + "kodcaw" => "010617" + ], + [ + "details_caw" => "Kangar", + "kodcaw" => "010915" + ], + [ + "details_caw" => "Sandakan", + "kodcaw" => "011228" + ], + [ + "details_caw" => "Sungai Petani", + "kodcaw" => "010219" + ], + [ + "details_caw" => "Tawau", + "kodcaw" => "011229" + ], + [ + "details_caw" => "Api-Api", + "kodcaw" => "011230" + ], + [ + "details_caw" => "Kajang", + "kodcaw" => "011013" + ], + [ + "details_caw" => "Raja Laut", + "kodcaw" => "011412" + ], + [ + "details_caw" => "Beaufort", + "kodcaw" => "011231" + ], + [ + "details_caw" => "Kota Belud", + "kodcaw" => "011232" + ], + [ + "details_caw" => "Tuaran", + "kodcaw" => "011234" + ], + [ + "details_caw" => "Keningau", + "kodcaw" => "011233" + ], + [ + "details_caw" => "Tanah Merah", + "kodcaw" => "020303" + ], + [ + "details_caw" => "Temerloh", + "kodcaw" => "010618" + ], + [ + "details_caw" => "Semporna", + "kodcaw" => "011237" + ], + [ + "details_caw" => "Kota Bharu 1", + "kodcaw" => "KB1" + ] + ]; + + return collect($branches); + } +} diff --git a/routes/web.php b/routes/web.php index 9052705..2bbe462 100644 --- a/routes/web.php +++ b/routes/web.php @@ -31,6 +31,15 @@ $router->group(['namespace' => '\Rap2hpoutre\LaravelLogViewer'], function() use // }); $router->group(['prefix'=>'api'], function () use ($router){ + + $router->group([ + 'prefix' => 'payable-ujrah-branches', + ], function($router){ + $router->get('/', 'PayableUjrahBranchController@index'); + $router->post('/', 'PayableUjrahBranchController@create'); + $router->post('/sync-status', 'PayableUjrahBranchController@syncStatus'); + }); + //Customer API $router->get('customers',['uses'=>'CustomerController@showAllCustomers']); $router->get('customers/cawangan/{kodcaw}',['uses'=>'CustomerController@showAllCustomersByCawangan']); @@ -119,13 +128,14 @@ $router->group(['prefix'=>'api'], function () use ($router){ $router->get('tebus/laporan/{kodcaw}/{tarikh}',['uses'=>'TebusController@getLaporanTebus']); $router->get('tebus/laporanjenistawarruq/{kodcaw}',['uses'=>'TebusController@getLaporanTebusPengasingan']); $router->get('upahtawarruqbytarikh',['uses'=>'TebusController@upahTawarruqByTarikh']); + $router->get('upahtawarruqujrah/{kodcaw}/{norujukan}/{jeniskeuntungan}',['uses'=>'TebusController@kiraupahTawarruq']); //Tebus Ujrah (Laporan Range Date) $router->get('tebusujrah/laporan/{kodcaw}',['uses'=>'TebusController@getLaporanTebusUjrah']); $router->get('tebus/laporanjenistawarruqujrah/{kodcaw}',['uses'=>'TebusController@getLaporanTebusPengasinganUjrah']); //Ansuran Ujrah (Laporan Range Date) - $router->get('ansuranujrah/laporan/{kodcaw}',['uses'=>'GadaiController@getLaporanAnsuranUjrah']); + $router->get('ansuranujrah/laporan/{kodcaw}',['uses'=>'GadaiController@getLaporanAnsuranUjrah']); @@ -834,6 +844,7 @@ $router->group(['prefix'=>'admin'], function () use ($router){ $router->get('ig/bayaran_penghutang',['uses'=>'AdminPageController@SenaraiBayaranHutang']); }); + $router->group(['prefix'=>'lelong'], function () use ($router){ $router->get('upahtawarruq/{kodcaw}/{norujukan}/{jeniskeuntungan}',['uses'=>'TebusController@upahTawarruq']); $router->get('upahrebettawarruq/{kodcaw}/{norujukan}/{jeniskeuntungan}',['uses'=>'TebusController@upahRebetTawarruq']);