diff --git a/app/Http/Controllers/PayableUjrahBranchController.php b/app/Http/Controllers/PayableUjrahBranchController.php index 2cf812e..2a6dbbb 100644 --- a/app/Http/Controllers/PayableUjrahBranchController.php +++ b/app/Http/Controllers/PayableUjrahBranchController.php @@ -14,8 +14,7 @@ class PayableUjrahBranchController extends Controller { $this->syncCawangan(); - $payableUjrahBranch = PayableUjrahBranch::with('cawangan_information')->get()->toJson(); - return json_encode($payableUjrahBranch); + return PayableUjrahBranch::with('cawangan_information')->get()->toJson(); } public function syncCawangan() diff --git a/app/Http/Controllers/TransactionOnlineController.php b/app/Http/Controllers/TransactionOnlineController.php index ae0e982..d72f8b8 100644 --- a/app/Http/Controllers/TransactionOnlineController.php +++ b/app/Http/Controllers/TransactionOnlineController.php @@ -30,6 +30,20 @@ class TransactionOnlineController extends Controller return response()->json($transactionOnline); } + + public function getListTransactionOnlineQuery(Request $request) + { + + $date = $request->date ? $request->date : Carbon::now()->toDateString(); + $transactionOnline = TransactionOnline::on('mysql7') + ->whereDate('tarikh', $date) + ->get(); + + + + return response()->json($transactionOnline); + } + public function getLatestNosiri() { $current = Carbon::now(); @@ -654,4 +668,75 @@ class TransactionOnlineController extends Controller return $th; } } + + function getListTransactionOnlineTrail(Request $request) + { + + $date = $request->date ? $request->date : Carbon::now()->toDateString(); + $isGroupByNorujukan = $request->filled('isGroupedByNorujukan') && $request->isGroupedByNorujukan === '1'; + + $transactionsOnline = TransactionOnline::whereDate('tarikh', $date) + ->when($request->filled('norujukan'), function ($query) use($request) { + return $query->where('norujukan', $request->norujukan); + }) + ->get() + ->filter(fn ($x) => $x['status'] === 'PAID') + ->when($isGroupByNorujukan, function ($query) { + return $query->groupBy('norujukan')->sortKeysDesc(); + }) + ->toArray(); + + $transaction = Transaction::whereDate('created_at', $date) + ->where('teller', 'Online') + ->when($request->norujukan, function ($query) use($request) { + return $query->where('norujukan', $request->norujukan); + }) + ->get() + ->when($isGroupByNorujukan, function ($query) { + return $query->groupBy('norujukan')->sortKeysDesc(); + }) + ->toArray(); + + $transaksiKeuntungan = TransaksiKeuntungan::whereDate('tarikh_bayaran', $date) + ->when($request->norujukan, function ($query) use($request) { + return $query->where('norujukan', $request->norujukan); + }) + ->get() + ->when($isGroupByNorujukan, function ($query) { + return $query->groupBy('norujukan')->sortKeysDesc(); + }) + ->toArray(); + + $connectionCawangan = Cawangan::on('mysql7')->where('kodcaw', 'KB2')->first()->mysql; + + $cawanganTransactionOnline = TransactionOnline::whereDate('tarikh', $date) + ->get() + ->pluck('kodcaw') + ->unique() + ->all(); + + $connectionCawangan = Cawangan::on('mysql7')->whereIn('kodcaw', $cawanganTransactionOnline)->get()->pluck('mysql'); + + $glDetail = $connectionCawangan->map(fn ($x) => GlDetail::on($x)->where('teller', 'ONLINE')->whereDate('tarikh', $date)->get()) + ->flatten() + ->when($isGroupByNorujukan, function ($glDetail) { + return $glDetail->groupBy('descpt') + ->keyBy(function ($group, $key) { + $array = explode(' ', $key); + return end($array); + }); + }) + ->when($request->filled('norujukan'), function ($glDetail) use($request) { + return $glDetail->where('norujukan', $request->norujukan); + }) + ->sortKeysDesc() + ->toArray(); + + return response()->json([ + 'transactionsOnline' => $transactionsOnline, + 'transaction' => $transaction, + 'transaksiKeuntungan' => $transaksiKeuntungan, + 'glDetail' => $glDetail + ]); + } } diff --git a/routes/web.php b/routes/web.php index 43159d3..bb0bed3 100644 --- a/routes/web.php +++ b/routes/web.php @@ -10,7 +10,6 @@ | and give it the Closure to call when that URI is requested. | */ - // $router->get('/', function () use ($router) { // return $router->app->version(); // }); @@ -18,6 +17,7 @@ // return \Illuminate\Support\Str::random(32); // }); + $router->group(['namespace' => '\Rap2hpoutre\LaravelLogViewer'], function() use ($router) { $router->get('logs', 'LogViewerController@index'); }); @@ -260,9 +260,8 @@ $router->group(['prefix'=>'api'], function () use ($router){ $router->get('transaction/online/unsuccessful',['uses'=>'TransactionOnlineController@getListUnsuccessful']); $router->put('transaction/online/unsuccesfull/update',['uses'=>'TransactionOnlineController@updateUnsuccessfulTransaction']); $router->put('transaction/online/tagportal',['uses'=>'TransactionOnlineController@updateTagPortal']); - - - + $router->get('transaction/online/query',['uses'=>'TransactionOnlineController@getListTransactionOnlineQuery']); + $router->get('transaction/online/trail',['uses'=>'TransactionOnlineController@getListTransactionOnlineTrail']); //ANSURAN UPAH API $router->get('ansuran/laporan/{kodcaw}',['uses'=>'GadaiController@getLaporanAnsuran']);