tambah pagination dan search daily monitoring

This commit is contained in:
2024-02-15 10:43:32 +07:00
parent 814eb014f7
commit 14949a47f9
7 changed files with 455 additions and 108 deletions

View File

@@ -1,7 +1,7 @@
<?php
namespace Modules\Internal\Http\Controllers\Api;
use App\Helpers\Helper;
use App\Models\DailyMonitoring;
use App\Models\RequestDailyMonitoring;
use App\Models\MedicalPlan;
@@ -10,8 +10,10 @@ use Exception;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Validator;
use Modules\Internal\Transformers\DailyMonitoringResource;
use App\Models\File;
/**
* Bagaskoro BSD 27-10-2023
*
@@ -36,7 +38,7 @@ class DailyMonitoringController extends Controller
/**
* Member List
*/
public function GetMemberList()
public function GetMemberList(Request $request)
{
$memberList = DB::table('request_logs')
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
@@ -45,18 +47,18 @@ class DailyMonitoringController extends Controller
->select('members.member_id','members.name','members.members_effective_date AS startdate','members.members_expire_date AS enddate', 'request_logs.submission_date as addmision_date', 'organizations.name as provider' )
->where('request_logs.service_code', 'IP')
->where('request_logs.deleted_at', null)
->when($request->search, function ($q, $search) {
$q->where('members.member_id', 'LIKE', "%".$search."%");
$q->orWhere('members.name','LIKE',"%".$search."%");
})
// ->where('request_logs.status_final_log', 'approved')
->groupBy('request_logs.member_id')
->orderBy('request_logs.created_at', 'desc')
->get();
// ->get()
->paginate();
return response()->json([
'error' => false,
'message' => "success",
'data' => [
'member_list'=> $memberList,
]
],200);
return Helper::paginateResources(DailyMonitoringResource::collection($memberList));
}
/**
@@ -76,8 +78,12 @@ class DailyMonitoringController extends Controller
->where('request_logs.service_code', 'IP')
->where('request_logs.status_final_log', 'approved')
->where("request_logs.member_id", "=", $memberDetail->id)
->when($request->search, function ($q, $search) {
$q->where('request_logs.code', 'LIKE', "%".$search."%");
})
->orderBy("request_logs.created_at", "desc")
->get();
// ->get()
->paginate();
return response()->json([
'error' => false,