From e76a9571b139ecb651b08b2c04376b0934f08bd2 Mon Sep 17 00:00:00 2001 From: Hafifie PKB Date: Tue, 5 Dec 2023 09:27:10 +0800 Subject: [PATCH] add imbang duga api and lejeram api and fix round down --- app/Http/Controllers/AdminPageController.php | 12 +-- app/Http/Controllers/GadaiController.php | 15 ++-- .../Reports/OnePercentController.php | 43 ++++++++++ app/Http/Controllers/TebusController.php | 78 +++++++++---------- app/Services/Reports/OnePercentService.php | 55 +++++++++++++ routes/report.php | 5 ++ tinker/getOnePercent.php | 14 ++++ 7 files changed, 170 insertions(+), 52 deletions(-) create mode 100644 app/Http/Controllers/Reports/OnePercentController.php create mode 100644 app/Services/Reports/OnePercentService.php create mode 100644 tinker/getOnePercent.php diff --git a/app/Http/Controllers/AdminPageController.php b/app/Http/Controllers/AdminPageController.php index 76604ae..e7df70f 100644 --- a/app/Http/Controllers/AdminPageController.php +++ b/app/Http/Controllers/AdminPageController.php @@ -3120,11 +3120,11 @@ class AdminPageController extends Controller $year = $current->year; $month = $tarikh->month; - $test = Gadai::on($cawangan['mysql']) - ->whereBetween('tempoh',[0.5,1]) - ->where('sttebus','<>','') - ->whereYear('t_gadai',$current->year()) - ->pluck('norujukan'); + // $test = Gadai::on($cawangan['mysql']) + // ->whereBetween('tempoh',[0.5,1]) + // ->where('sttebus','<>','') + // ->whereYear('t_gadai',$current->year()) + // ->pluck('norujukan'); $get_norujukan = Gadai::on($cawangan['mysql']) ->selectRaw("norujukan,CASE WHEN (YEAR(t_gadai) = YEAR(t_update) and MONTH(t_gadai) = MONTH(t_update)) THEN '1' ELSE '0' END AS result") @@ -3143,6 +3143,7 @@ class AdminPageController extends Controller }) ->whereIn('trans.norujukan',$get_norujukan) ->where('transaction.trans_type','T') + ->where('onepercent','=',0) ->sum('keuntungan_rebet'); $sum_keun_ansuran = Transaction::on('mysql7') @@ -3153,6 +3154,7 @@ class AdminPageController extends Controller }) ->whereIn('trans.norujukan',$get_norujukan) ->where('transaction.trans_type','A') + ->where('onepercent','=',0) ->sum('bayaran_keuntungan'); $total = $sum_keun_tebus + $sum_keun_ansuran; diff --git a/app/Http/Controllers/GadaiController.php b/app/Http/Controllers/GadaiController.php index 25884de..a38b21b 100644 --- a/app/Http/Controllers/GadaiController.php +++ b/app/Http/Controllers/GadaiController.php @@ -251,7 +251,6 @@ class GadaiController extends Controller //query kadar upah baru $kadar_raw = KadarUpah::where('min','<=',$total_nilai_marhun)->where('max','>=',$total_nilai_marhun)->where('group_id',$cawangan['group_id'])->first(); - // dd($kadar_raw); // query kadar upah lama // $kadar_raw = KadarUpah::where('min','<=',$total_nilai_marhun)->where('max','>=',$total_nilai_marhun)->first(); @@ -367,13 +366,13 @@ class GadaiController extends Controller // $upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']); $upahsemasa_raw = $bilang_bln * $upah['keuntungan']; - $upah_semasa = round($upahsemasa_raw,PHP_ROUND_HALF_UP); - // $upah_semasa_round = number_format($upahsemasa_raw,2); - // $upah_semasa = substr($upah_semasa_round, 0, -1); - // // $upah_semasa = floatval(preg_replace('/[^\d.]/', '', $upah_semasa)); - // if(strpos($upah_semasa,',')){ - // $upah_semasa = str_replace(',','',$upah_semasa); - // } + // $upah_semasa = round($upahsemasa_raw,PHP_ROUND_HALF_UP); + $upah_semasa_round = number_format($upahsemasa_raw,2); + $upah_semasa = substr($upah_semasa_round, 0, -1); + // $upah_semasa = floatval(preg_replace('/[^\d.]/', '', $upah_semasa)); + if(strpos($upah_semasa,',')){ + $upah_semasa = str_replace(',','',$upah_semasa); + } return $upah_semasa; } diff --git a/app/Http/Controllers/Reports/OnePercentController.php b/app/Http/Controllers/Reports/OnePercentController.php new file mode 100644 index 0000000..9c51542 --- /dev/null +++ b/app/Http/Controllers/Reports/OnePercentController.php @@ -0,0 +1,43 @@ +getTotalKeuntungan('B'); + + return response()->json($response); + } + + public function getUjrahImbangDuga(string $kod_cawangan) + { + $reports = new ReportOne($kod_cawangan); + $response = $reports->getTotalUjrah('B'); + + return response()->json($response); + } + + public function getKeuntunganLejerAm(string $kod_cawangan,Request $request) + { + $reports = new ReportOne($kod_cawangan); + $response = $reports->getTotalKeuntungan('L',$request->mula,$request->hingga); + + return response()->json($response); + } + + public function getUjrahLejerAm(string $kod_cawangan,Request $request) + { + $reports = new ReportOne($kod_cawangan); + $response = $reports->getTotalUjrah('L',$request->mula,$request->hingga); + + return response()->json($response); + } +} diff --git a/app/Http/Controllers/TebusController.php b/app/Http/Controllers/TebusController.php index 5c739cd..f2c4ef2 100644 --- a/app/Http/Controllers/TebusController.php +++ b/app/Http/Controllers/TebusController.php @@ -59,12 +59,12 @@ class TebusController extends Controller $rebet = $this->rebetselepastawarruq($kodcaw,$norujukan,$jeniskeuntungan); $harga_tebus = $gadai_data['bakihargajualan'] - $rebet; - $hargatebus = round($harga_tebus,PHP_ROUND_HALF_UP); - // $hargatebus = bcdiv(round($harga_tebus,2),1,1); - // $hargatebus = number_format($hargatebus,2); - // if(strpos($hargatebus,',')){ - // $hargatebus = str_replace(',','',$hargatebus); - // } + // $hargatebus = round($harga_tebus,PHP_ROUND_HALF_UP); + $hargatebus = bcdiv(round($harga_tebus,2),1,1); + $hargatebus = number_format($hargatebus,2); + if(strpos($hargatebus,',')){ + $hargatebus = str_replace(',','',$hargatebus); + } return response()->json($hargatebus); } @@ -82,12 +82,12 @@ class TebusController extends Controller $harga_tebus = $gadai_data['bakihargajualan'] - $rebet; - $hargatebus = round($harga_tebus,PHP_ROUND_HALF_UP); - // $hargatebus = bcdiv(round($harga_tebus,2),1,1); - // $hargatebus = number_format($hargatebus,2); - // if(strpos($hargatebus,',')){ - // $hargatebus = str_replace(',','',$hargatebus); - // } + // $hargatebus = round($harga_tebus,PHP_ROUND_HALF_UP); + $hargatebus = bcdiv(round($harga_tebus,2),1,1); + $hargatebus = number_format($hargatebus,2); + if(strpos($hargatebus,',')){ + $hargatebus = str_replace(',','',$hargatebus); + } return $hargatebus; } @@ -117,15 +117,15 @@ class TebusController extends Controller $upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']); } - $upah_semasa = round($upahsemasa_raw,PHP_ROUND_HALF_UP); - // $upah_semasa_round = number_format($upahsemasa_raw,2); - // if(strpos($upah_semasa_round,',')){ - // $upah_semasa_round = str_replace(',','',$upah_semasa_round); - // } - // $upah_semasa = substr($upah_semasa_round, 0, -1); - // if(strpos($upah_semasa,',')){ - // $upah_semasa = str_replace(',','',$upah_semasa); - // } + // $upah_semasa = round($upahsemasa_raw,PHP_ROUND_HALF_UP); + $upah_semasa_round = number_format($upahsemasa_raw,2); + if(strpos($upah_semasa_round,',')){ + $upah_semasa_round = str_replace(',','',$upah_semasa_round); + } + $upah_semasa = substr($upah_semasa_round, 0, -1); + if(strpos($upah_semasa,',')){ + $upah_semasa = str_replace(',','',$upah_semasa); + } return $upah_semasa; } @@ -156,15 +156,15 @@ class TebusController extends Controller $upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']); } - $upah_rebet = round($upahrebet_raw ,PHP_ROUND_HALF_UP); - // $upah_rebet_round = number_format($upahrebet_raw,2); - // if(strpos($upah_rebet_round,',')){ - // $upah_rebet_round = str_replace(',','',$upah_rebet_round); - // } - // $upah_rebet = substr($upah_rebet_round, 0, -1); - // if(strpos($upah_rebet,',')){ - // $upah_rebet = str_replace(',','',$upah_rebet); - // } + // $upah_rebet = round($upahrebet_raw ,PHP_ROUND_HALF_UP); + $upah_rebet_round = number_format($upahrebet_raw,2); + if(strpos($upah_rebet_round,',')){ + $upah_rebet_round = str_replace(',','',$upah_rebet_round); + } + $upah_rebet = substr($upah_rebet_round, 0, -1); + if(strpos($upah_rebet,',')){ + $upah_rebet = str_replace(',','',$upah_rebet); + } return $upah_rebet; } @@ -188,15 +188,15 @@ class TebusController extends Controller $upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']); - $upah_rebet = round($upahrebet_raw,PHP_ROUND_HALF_UP); - // $upah_rebet_round = number_format($upahrebet_raw,2); - // if(strpos($upah_rebet_round,',')){ - // $upah_rebet_round = str_replace(',','',$upah_rebet_round); - // } - // $upah_rebet = substr($upah_rebet_round, 0, -1); - // if(strpos($upah_rebet,',')){ - // $upah_rebet = str_replace(',','',$upah_rebet); - // } + // $upah_rebet = round($upahrebet_raw,PHP_ROUND_HALF_UP); + $upah_rebet_round = number_format($upahrebet_raw,2); + if(strpos($upah_rebet_round,',')){ + $upah_rebet_round = str_replace(',','',$upah_rebet_round); + } + $upah_rebet = 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'); diff --git a/app/Services/Reports/OnePercentService.php b/app/Services/Reports/OnePercentService.php new file mode 100644 index 0000000..770be63 --- /dev/null +++ b/app/Services/Reports/OnePercentService.php @@ -0,0 +1,55 @@ +sum('onepercent_rebet'); + }else if($type == 'L'){ + $keuntungan = TransaksiKeuntungan::on('mysql7') + ->whereDate('tarikh_bayaran','>=',$start) + ->whereDate('tarikh_bayaran','<=',$end) + ->sum('onepercent_rebet');; + } + + return $keuntungan; + } + + public function getTotalUjrah($type = 'B',$start = '2023-12-14',$end = '2023-12-14') : Float{ + + + if($type == 'B'){ + $ujrah = TransaksiKeuntungan::on('mysql7')->sum('ujrah_rebet'); + // $ujrah = TransaksiKeuntungan::on('mysql7')->selectRaw('SUM(ujrah - ujrah_rebet) as total') + // ->first(); + // $ujrah = $ujrah['total']; + }else if($type == 'L'){ + $ujrah = TransaksiKeuntungan::on('mysql7') + ->whereDate('tarikh_bayaran','>=',$start) + ->whereDate('tarikh_bayaran','<=',$end) + ->sum('ujrah_rebet');; + } + + return $ujrah; + } + + +} diff --git a/routes/report.php b/routes/report.php index 749ddab..c4cdbbd 100644 --- a/routes/report.php +++ b/routes/report.php @@ -8,5 +8,10 @@ $router->group(['prefix'=>'api/reports'], function () use ($router){ $router->get('penebusan/{kod_cawangan}', ['uses' => 'PenebusanController@getLaporanCawangan']); $router->get('ansuran', ['uses' => 'AnsuranController@getSummaryLaporanAnsuran']); $router->get('ansuran/{kod_cawangan}', ['uses' => 'AnsuranController@getLaporanCawangan']); + $router->get('onepercent/balance/{kod_cawangan}', ['uses' => 'OnePercentController@getKeuntunganImbangDuga']); + $router->get('onepercent/ledger/{kod_cawangan}', ['uses' => 'OnePercentController@getKeuntunganLejerAm']); + $router->get('ujrah/balance/{kod_cawangan}', ['uses' => 'OnePercentController@getUjrahImbangDuga']); + $router->get('ujrah/ledger/{kod_cawangan}', ['uses' => 'OnePercentController@getUjrahLejerAm']); + }); }); diff --git a/tinker/getOnePercent.php b/tinker/getOnePercent.php new file mode 100644 index 0000000..b050fb0 --- /dev/null +++ b/tinker/getOnePercent.php @@ -0,0 +1,14 @@ +getTotalKeuntungan('B'); +$test2 = $report->getTotalUjrah('B'); + + +dd($test,$test2); + +