API Home dan Linking
This commit is contained in:
75
Modules/Linksehat/Http/Controllers/Api/HomeController.php
Normal file
75
Modules/Linksehat/Http/Controllers/Api/HomeController.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Linksehat\Http\Controllers\Api;
|
||||
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\Organization;
|
||||
use App\Models\PractitionerRole;
|
||||
use App\Models\OLDLMS\User;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Modules\Linksehat\Transformers\Article\ArticleResource;
|
||||
use Modules\Linksehat\Transformers\Home\HomeResource;
|
||||
use Modules\Linksehat\Transformers\Doctor\DoctorResource;
|
||||
use Modules\Linksehat\Transformers\Hospital\HospitalResource;
|
||||
|
||||
class HomeController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$user = User::with('detail')
|
||||
->where('nId', $request->id)
|
||||
->first();
|
||||
return Helper::responseJson([
|
||||
'home' => HomeResource::make($user, $request),
|
||||
]);
|
||||
}
|
||||
|
||||
public function listHospital(Request $request){
|
||||
// Hospital List
|
||||
$hospitalList = [];
|
||||
$hospitals = Organization::where([
|
||||
'type' => 'hospital',
|
||||
'status' => 'active',
|
||||
])
|
||||
->with('currentAddress')
|
||||
->get()->toArray();
|
||||
foreach($hospitals as $hospital){
|
||||
$lat = 0;
|
||||
$lang = 0;
|
||||
if ($hospital['current_address']['lat']){
|
||||
$lat = $hospital['current_address']['lat'];
|
||||
}
|
||||
if ($hospital['current_address']['lng']){
|
||||
$lang = $hospital['current_address']['lng'];
|
||||
}
|
||||
|
||||
$address = '';
|
||||
if ($hospital['current_address']['text']){
|
||||
$address = $hospital['current_address']['text'];
|
||||
}
|
||||
|
||||
$radius = 0;
|
||||
if ($lat && $lang && $request->longitude && $request->latitude){
|
||||
$radius = round(Helper::calculateDistance($lat, $lang, $request->latitude, $request->longitude), 2);
|
||||
}
|
||||
|
||||
$data = [
|
||||
'name' => $hospital['name'],
|
||||
'radius' => $radius,
|
||||
'image' => '',
|
||||
'address' => $address
|
||||
];
|
||||
|
||||
array_push($hospitalList, $data);
|
||||
}
|
||||
usort($hospitalList, function($a, $b) {
|
||||
return $a['radius'] <=> $b['radius'];
|
||||
});
|
||||
return Helper::responseJson([
|
||||
'hospital' => $hospitalList
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,8 @@ namespace Modules\Linksehat\Http\Controllers\Api;
|
||||
use App\Helpers\Helper;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Person;
|
||||
use App\Models\RequestLogBenefit;
|
||||
use App\Models\RequestLog;
|
||||
use App\Models\Corporate;
|
||||
use App\Models\Member;
|
||||
use App\Models\OLDLMS\User;
|
||||
@@ -135,4 +137,39 @@ class LinkingController extends Controller
|
||||
$message = $member->currentPolicy->corporate->welcome_message;
|
||||
return Helper::responseJson(data: MemberResource::make($member), message: $message);
|
||||
}
|
||||
|
||||
public function card_detail($member_id, $id){
|
||||
$member = Member::where('member_id', $member_id)->get()->toArray();
|
||||
$requestLogBenefits = RequestLogBenefit::where('request_log_id', $id)->with('benefit')->get()->toArray();
|
||||
$requestLog = RequestLog::find($id)->first();
|
||||
$benefitItem = [];
|
||||
$dataRequestLog = [
|
||||
'code' => $requestLog['code'],
|
||||
'diagnosis' => Helper::diagnosisName($requestLog['diagnosis']),
|
||||
'service_type' => Helper::serviceName($requestLog['service_code']),
|
||||
|
||||
];
|
||||
foreach($requestLogBenefits as $requestLogBenefit) {
|
||||
$data = [
|
||||
'benefit_item' => $requestLogBenefit['benefit']['description'],
|
||||
'amount_incurred' => $requestLogBenefit['amount_incurred'],
|
||||
'amount_approved' => $requestLogBenefit['amount_approved'],
|
||||
'amount_not_approved' => $requestLogBenefit['amount_not_approved'],
|
||||
'excess_paid' => $requestLogBenefit['excess_paid'],
|
||||
];
|
||||
|
||||
$benefitItem[] = $data;
|
||||
};
|
||||
$dataRequestLog['benefit_item'] = $benefitItem;
|
||||
|
||||
// dd($dataRequestLog);
|
||||
// $data = [
|
||||
// 'id' => $requestLog['id'],
|
||||
// 'code' => $requestLog['code'],
|
||||
// 'submission_date' => Carbon::parse($requestLog['submission_date'])->format('d M Y H:i:s'),
|
||||
// 'provider_name' => $requestLog['organization']['name'],
|
||||
// 'service' => Helper::serviceName($requestLog['service_code'])
|
||||
// ];
|
||||
return Helper::responseJson(data:$dataRequestLog);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user