Update codebase

- Fix payable ujrah branch response
- Add route and controller function to query for online transaction. for now can query by date
- Add route and controller function to get online transaction trail. the endpoint will return the data from 4 interlinked table for
  online transaction needed to complete phase
This commit is contained in:
Afiq Hamzah
2024-07-15 16:28:39 +08:00
parent 6014c8d9cf
commit f037dc539a
3 changed files with 89 additions and 6 deletions
@@ -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()
@@ -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
]);
}
}
+3 -4
View File
@@ -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']);