From 3b996192a653a2b86894b44f50b191423abbfad1 Mon Sep 17 00:00:00 2001 From: Muhammad Fajar Date: Fri, 4 Nov 2022 14:27:30 +0700 Subject: [PATCH 1/9] fix spesialities index --- Modules/Linksehat/Http/Controllers/Api/SpecialityController.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Modules/Linksehat/Http/Controllers/Api/SpecialityController.php b/Modules/Linksehat/Http/Controllers/Api/SpecialityController.php index a010664e..1740cd9d 100755 --- a/Modules/Linksehat/Http/Controllers/Api/SpecialityController.php +++ b/Modules/Linksehat/Http/Controllers/Api/SpecialityController.php @@ -39,6 +39,8 @@ class SpecialityController extends Controller ->where('speciality_id', $specialityId) ->get(); + abort_if(count($doctors) === 0, Response::HTTP_NOT_FOUND, 'Data Doctor tidak ditemukan'); + foreach ($doctors as $key => $doctor) { $specialisName = $doctor->speciality->name; } From 56a998dffa4c1721d10835720c30bda07886e8b8 Mon Sep 17 00:00:00 2001 From: Muhammad Fajar Date: Fri, 4 Nov 2022 14:30:41 +0700 Subject: [PATCH 2/9] fix organization seeder --- database/seeders/OrganizationSeeder.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/database/seeders/OrganizationSeeder.php b/database/seeders/OrganizationSeeder.php index e3b4be3c..9a169be5 100755 --- a/database/seeders/OrganizationSeeder.php +++ b/database/seeders/OrganizationSeeder.php @@ -16,20 +16,20 @@ class OrganizationSeeder extends Seeder */ public function run() { - $response = Http::get('https://api.primaya.id/temp/organizations'); + $response = Http::get('https://app.primaya.id/temp/organizations'); foreach ($response->json()['organizations'] as $organization) { $newOrganization = Organization::updateOrCreate([ - 'code' => 'ORG000'.$organization['code'], - ],[ - 'code' => 'ORG000'.$organization['code'], + 'code' => 'ORG000' . $organization['code'], + ], [ + 'code' => 'ORG000' . $organization['code'], 'name' => $organization['name'], 'type' => 'hospital', ]); $newAddress = $newOrganization->addresses()->updateOrCreate([ 'id' => $newOrganization->main_address_id - ],[ + ], [ 'use' => 'both', 'type' => 'physical', 'text' => $organization['address'], @@ -49,14 +49,15 @@ class OrganizationSeeder extends Seeder ]); $newOrganization->metas()->updateOrCreate([ 'type' => 'phone', - ],[ + ], [ 'system' => 'default', 'type' => 'phone', 'value' => $organization['phone'] ]); $newOrganization->metas()->updateOrCreate([ 'type' => 'timezone', - ],['system' => 'default', + ], [ + 'system' => 'default', 'type' => 'timezone', 'value' => $organization['timezone'] ]); From 0a217b6c3d7cf6d55d9bf53f52ecbe86b29d0486 Mon Sep 17 00:00:00 2001 From: Muhammad Fajar Date: Fri, 4 Nov 2022 15:19:40 +0700 Subject: [PATCH 3/9] update api route --- Modules/Linksehat/Routes/api.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Linksehat/Routes/api.php b/Modules/Linksehat/Routes/api.php index a75f8329..3e09e274 100755 --- a/Modules/Linksehat/Routes/api.php +++ b/Modules/Linksehat/Routes/api.php @@ -58,6 +58,6 @@ Route::prefix('linksehat')->group(function () { Route::middleware('auth:sanctum')->group(function () { Route::get('profile', [ProfileController::class, 'index'])->name('profile'); Route::post('profile', [ProfileController::class, 'update'])->name('profile.update'); - Route::apiResource('persons', PersonController::class)->except(['destroy']); + Route::apiResource('families', PersonController::class)->except(['destroy']); }); }); From 7c63099ef7533d160e36793faf66b05f98f94549 Mon Sep 17 00:00:00 2001 From: Muhammad Fajar Date: Fri, 4 Nov 2022 15:26:02 +0700 Subject: [PATCH 4/9] fix bug search hospital --- Modules/Linksehat/Http/Controllers/Api/SearchController.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Modules/Linksehat/Http/Controllers/Api/SearchController.php b/Modules/Linksehat/Http/Controllers/Api/SearchController.php index 1bf284fe..4190d923 100644 --- a/Modules/Linksehat/Http/Controllers/Api/SearchController.php +++ b/Modules/Linksehat/Http/Controllers/Api/SearchController.php @@ -35,6 +35,7 @@ class SearchController extends Controller return Helper::responseJson(['doctors' => SpecialityResource::collection($doctors)]); } + // error di server? public function searchHospital(Request $request) { abort_if($request->has('value') != true || empty($request->value), 400, 'Missing Parameter value'); @@ -64,7 +65,7 @@ class SearchController extends Controller ->where('specialities.name', 'LIKE', "{$request->value}%") ->where('addresses.addressable_type', '=', Organization::class) ->whereNot('practitioner_roles.speciality_id') - ->groupBy(['practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) + ->groupBy(['organizations.id', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) ->get(); return Helper::responseJson(data: ['hospitals' => HospitalResource::collection($queryHospitals)], message: 'Data rumah sakit berhasil di ambil'); From 32f390dee4518d5133fa86b55df88346c7c185d0 Mon Sep 17 00:00:00 2001 From: Muhammad Fajar Date: Fri, 4 Nov 2022 15:27:25 +0700 Subject: [PATCH 5/9] fix bug again search hospital --- Modules/Linksehat/Http/Controllers/Api/SearchController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Linksehat/Http/Controllers/Api/SearchController.php b/Modules/Linksehat/Http/Controllers/Api/SearchController.php index 4190d923..81be1629 100644 --- a/Modules/Linksehat/Http/Controllers/Api/SearchController.php +++ b/Modules/Linksehat/Http/Controllers/Api/SearchController.php @@ -65,7 +65,7 @@ class SearchController extends Controller ->where('specialities.name', 'LIKE', "{$request->value}%") ->where('addresses.addressable_type', '=', Organization::class) ->whereNot('practitioner_roles.speciality_id') - ->groupBy(['organizations.id', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) + ->groupBy(['organizations.id', 'organizations.name', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) ->get(); return Helper::responseJson(data: ['hospitals' => HospitalResource::collection($queryHospitals)], message: 'Data rumah sakit berhasil di ambil'); From 54aad98fb135b0af8ddab359715b4f5541ebbfd6 Mon Sep 17 00:00:00 2001 From: Muhammad Fajar Date: Fri, 4 Nov 2022 15:28:41 +0700 Subject: [PATCH 6/9] fix bug group search hospitals --- Modules/Linksehat/Http/Controllers/Api/SearchController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Linksehat/Http/Controllers/Api/SearchController.php b/Modules/Linksehat/Http/Controllers/Api/SearchController.php index 81be1629..b5ca8d1e 100644 --- a/Modules/Linksehat/Http/Controllers/Api/SearchController.php +++ b/Modules/Linksehat/Http/Controllers/Api/SearchController.php @@ -65,7 +65,7 @@ class SearchController extends Controller ->where('specialities.name', 'LIKE', "{$request->value}%") ->where('addresses.addressable_type', '=', Organization::class) ->whereNot('practitioner_roles.speciality_id') - ->groupBy(['organizations.id', 'organizations.name', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) + ->groupBy(['organizations.id', 'organizations.name', 'addresses.text', 'cities.name', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) ->get(); return Helper::responseJson(data: ['hospitals' => HospitalResource::collection($queryHospitals)], message: 'Data rumah sakit berhasil di ambil'); From 8a50d5c45d178a85782b968e3e6660d656b3ac7d Mon Sep 17 00:00:00 2001 From: Muhammad Fajar Date: Fri, 4 Nov 2022 15:36:41 +0700 Subject: [PATCH 7/9] fix code search hospital --- Modules/Linksehat/Http/Controllers/Api/SearchController.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Modules/Linksehat/Http/Controllers/Api/SearchController.php b/Modules/Linksehat/Http/Controllers/Api/SearchController.php index b5ca8d1e..1bf284fe 100644 --- a/Modules/Linksehat/Http/Controllers/Api/SearchController.php +++ b/Modules/Linksehat/Http/Controllers/Api/SearchController.php @@ -35,7 +35,6 @@ class SearchController extends Controller return Helper::responseJson(['doctors' => SpecialityResource::collection($doctors)]); } - // error di server? public function searchHospital(Request $request) { abort_if($request->has('value') != true || empty($request->value), 400, 'Missing Parameter value'); @@ -65,7 +64,7 @@ class SearchController extends Controller ->where('specialities.name', 'LIKE', "{$request->value}%") ->where('addresses.addressable_type', '=', Organization::class) ->whereNot('practitioner_roles.speciality_id') - ->groupBy(['organizations.id', 'organizations.name', 'addresses.text', 'cities.name', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) + ->groupBy(['practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) ->get(); return Helper::responseJson(data: ['hospitals' => HospitalResource::collection($queryHospitals)], message: 'Data rumah sakit berhasil di ambil'); From 285bf10a80bc1d3fab094ab76f1d6f019f7e0ce4 Mon Sep 17 00:00:00 2001 From: Muhammad Fajar Date: Fri, 4 Nov 2022 15:41:22 +0700 Subject: [PATCH 8/9] fix bug search hospital in group --- Modules/Linksehat/Http/Controllers/Api/SearchController.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Modules/Linksehat/Http/Controllers/Api/SearchController.php b/Modules/Linksehat/Http/Controllers/Api/SearchController.php index 1bf284fe..cde3eabc 100644 --- a/Modules/Linksehat/Http/Controllers/Api/SearchController.php +++ b/Modules/Linksehat/Http/Controllers/Api/SearchController.php @@ -43,10 +43,12 @@ class SearchController extends Controller ->when($request->lat && $request->lng, function (EloquentBuilder $query) use ($request) { $query->getQuery() ->selectRaw("organizations.id, organizations.name, addresses.text AS address, cities.name AS city_name, 6371 * acos (cos ( radians($request->lat) ) * cos( radians( addresses.lat ) ) * cos( radians( addresses.lng ) - radians($request->lng) ) + sin ( radians($request->lat) ) * sin( radians( addresses.lat ) )) as distance") + ->groupBy(['organizations.id', 'organizations.name', 'addresses.text', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id', 'addresses.lat', 'addresses.lng']) ->orderBy('distance', 'ASC'); }, function (EloquentBuilder $query) { $query->getQuery() ->select(['organizations.id', 'organizations.name', 'addresses.text AS address', 'cities.name AS city_name']) + ->groupBy(['organizations.id', 'organizations.name', 'addresses.text', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) ->orderBy('organizations.name'); }) ->leftJoin('addresses', function (Builder $query) { @@ -64,7 +66,6 @@ class SearchController extends Controller ->where('specialities.name', 'LIKE', "{$request->value}%") ->where('addresses.addressable_type', '=', Organization::class) ->whereNot('practitioner_roles.speciality_id') - ->groupBy(['practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) ->get(); return Helper::responseJson(data: ['hospitals' => HospitalResource::collection($queryHospitals)], message: 'Data rumah sakit berhasil di ambil'); From 57bbc5df9f80342f2650452119be6d3b33b42775 Mon Sep 17 00:00:00 2001 From: Muhammad Fajar Date: Fri, 4 Nov 2022 15:43:52 +0700 Subject: [PATCH 9/9] fix again grouping in search hospital --- Modules/Linksehat/Http/Controllers/Api/SearchController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/Linksehat/Http/Controllers/Api/SearchController.php b/Modules/Linksehat/Http/Controllers/Api/SearchController.php index cde3eabc..7baa2eec 100644 --- a/Modules/Linksehat/Http/Controllers/Api/SearchController.php +++ b/Modules/Linksehat/Http/Controllers/Api/SearchController.php @@ -43,12 +43,12 @@ class SearchController extends Controller ->when($request->lat && $request->lng, function (EloquentBuilder $query) use ($request) { $query->getQuery() ->selectRaw("organizations.id, organizations.name, addresses.text AS address, cities.name AS city_name, 6371 * acos (cos ( radians($request->lat) ) * cos( radians( addresses.lat ) ) * cos( radians( addresses.lng ) - radians($request->lng) ) + sin ( radians($request->lat) ) * sin( radians( addresses.lat ) )) as distance") - ->groupBy(['organizations.id', 'organizations.name', 'addresses.text', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id', 'addresses.lat', 'addresses.lng']) + ->groupBy(['organizations.id', 'organizations.name', 'addresses.text', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id', 'addresses.lat', 'addresses.lng', 'cities.name']) ->orderBy('distance', 'ASC'); }, function (EloquentBuilder $query) { $query->getQuery() ->select(['organizations.id', 'organizations.name', 'addresses.text AS address', 'cities.name AS city_name']) - ->groupBy(['organizations.id', 'organizations.name', 'addresses.text', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) + ->groupBy(['organizations.id', 'organizations.name', 'addresses.text', 'practitioner_roles.organization_id', 'practitioner_roles.speciality_id', 'cities.name']) ->orderBy('organizations.name'); }) ->leftJoin('addresses', function (Builder $query) {