From 24275809a67187ee03d73b8e532433ec634e7827 Mon Sep 17 00:00:00 2001 From: hafifierahman Date: Tue, 29 Nov 2022 10:00:37 +0800 Subject: [PATCH] tambahan lejer am akru --- app/Http/Controllers/LaporanController.php | 73 ++++++++++++++++++++++ routes/web.php | 3 + 2 files changed, 76 insertions(+) diff --git a/app/Http/Controllers/LaporanController.php b/app/Http/Controllers/LaporanController.php index 781583f..4443771 100644 --- a/app/Http/Controllers/LaporanController.php +++ b/app/Http/Controllers/LaporanController.php @@ -20,7 +20,9 @@ use App\HapusKira; use App\GlCode; use App\GlDetail; use App\Audit; +use App\AkruNet; use Carbon\Carbon; +use App\imbangdugalama; use DateTime; use DB; @@ -1227,4 +1229,75 @@ class LaporanController extends Controller return response()->json($atarray); } + public function SemakanKeuntunganLejer($kodcaw,Request $request){ + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first(); + $current = Carbon::now(); + $current = new Carbon(); + + /* Start Keuntungan Sebenar Calculation */ + $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") + ->whereNotNull('hargajualan')->having('result','=',1)->whereDate('t_gadai','>=',$request->mula)->whereDate('t_gadai','<=',$request->hingga)->where('sttebus','<>','')->pluck('norujukan'); + + $sum_keun = Transaction::on('mysql7') + ->selectRaw("trans.norujukan,SUM(CASE WHEN (transaction.trans_type) = 'T' THEN (trans.keuntungan_rebet) ELSE 0 END) AS sum_keun,SUM(CASE WHEN (transaction.trans_type) = 'A' THEN (trans.bayaran_keuntungan) ELSE 0 END) AS sum_bayaran") + ->leftJoin('transaksi_keuntungan as trans', function($join) + { + $join->on('transaction.norujukan', '=', 'trans.norujukan'); + $join->on('transaction.created_at', '=', 'trans.tarikh_bayaran'); + }) + ->whereIn('trans.norujukan',$get_norujukan)->get()->toArray(); + + $sum_keuntungan = ($sum_keun) ? $sum_keun[0]['sum_keun'] : 0; + $sum_bayaran = ($sum_keun) ? $sum_keun[0]['sum_bayaran'] : 0; + + $total_keuntungan_sebenar = $sum_keuntungan + $sum_bayaran; + /* End Keuntungan Sebenar Calculation */ + + /* Start Keuntungan Semasa Calculation */ + $get_norujukan = Gadai::on($cawangan['mysql']) + ->whereNotNull('hargajualan')->pluck('norujukan'); + + $summation = Transaction::on('mysql7') + ->selectRaw("SUM(CASE WHEN (transaction.trans_type) = 'T' THEN (trans.keuntungan_rebet) ELSE 0 END) AS sum_keun,SUM(CASE WHEN (transaction.trans_type) = 'A' THEN (trans.bayaran_keuntungan) ELSE 0 END) AS sum_bayaran") + ->leftJoin('transaksi_keuntungan as trans', function($join) + { + $join->on('transaction.norujukan', '=', 'trans.norujukan'); + $join->on('transaction.created_at', '=', 'trans.tarikh_bayaran'); + }) + ->whereIn('trans.norujukan',$get_norujukan) + ->whereDate('trans.tarikh_bayaran' ,'>=', $request->mula) + ->whereDate('trans.tarikh_bayaran' ,'<=', $request->hingga) + ->whereYear('tarikh_bayaran','=',$current->year) + ->where('trans.kodcaw',$request->kodcaw) + ->get()->toArray(); + + $upahlelong = Lelong::on($cawangan['mysql']) + ->where([['t_jual','>=',$request->mula],['t_jual','<=',$request->hingga],['t_jual','>','2022-07-24']]) + ->whereYear('t_jual','=',$current->year) + ->sum('bakiupah'); + + $sum_keuntungan = ($summation) ? $summation[0]['sum_keun'] : 0; + $sum_bayaran = ($summation) ? $summation[0]['sum_bayaran'] : 0; + + $total_keuntungan_semasa = ($sum_keuntungan + $sum_bayaran + $upahlelong) - $total_keuntungan_sebenar; + /* End Keuntungan Semasa Calculation */ + + $array_keuntungan = ['keuntungan_sebenar' => $total_keuntungan_sebenar, 'keuntungan_semasa' => $total_keuntungan_semasa]; + + return response($array_keuntungan); + } + + public function SemakanPendapatanAkrual($kodcaw,Request $request){ + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + $tarikh_carbon = new Carbon($request->mula); + + $akrual_net = AkruNet::on($cawangan['mysql']) + ->where('bulan', (int)$tarikh_carbon->month) + ->get()->toArray(); + + $jumlah = ($akrual_net) ? $akrual_net[0]['jumlah'] : 0; + + return response($jumlah); + } } diff --git a/routes/web.php b/routes/web.php index eda1719..d8e5996 100644 --- a/routes/web.php +++ b/routes/web.php @@ -506,6 +506,9 @@ $router->group(['prefix'=>'api'], function () use ($router){ $router->get('UntungRugiCalculation/{kodcaw}',['uses'=>'TebusController@untungrugicalculation']); $router->get('UntungRugiCalculationLejer/{kodcaw}',['uses'=>'TebusController@untungrugicalculationLejer']); + /* Pembaharuan Akrual */ + $router->get('Lejer/Keuntungan/{kodcaw}',['uses'=>'LaporanController@SemakanKeuntunganLejer']); + $router->get('Lejer/PendapatanAkrual/{kodcaw}',['uses'=>'LaporanController@SemakanPendapatanAkrual']); //END IMBANG DUGA & LEJER AM//