API Home dan Linking

This commit is contained in:
2024-04-18 08:46:49 +07:00
parent 666712f015
commit 1f26289b7a
11 changed files with 601 additions and 0 deletions

View File

@@ -4,6 +4,12 @@ namespace App\Http\Resources\OLDLMS;
use App\Services\ClaimService;
use App\Models\Corporate;
use App\Models\CorporateBenefit;
use App\Models\RequestLog;
use App\Models\RequestLogBenefit;
use App\Models\MemberPlan;
use App\Helpers\Helper;
use Carbon\Carbon;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -21,7 +27,46 @@ class MemberResource extends JsonResource
$currentMemberPlan = $this->memberPlans?->first();
$limitTelecon = $currentMemberPlan->plan->limit_telecon ?? null;
$limitTelecon = $this->totalUsage >= 6 ? null : $limitTelecon;
$services = MemberPlan::where('member_id', $this->id)->with('plan')->get()->toArray();
$dataServices = [];
if ($services) {
foreach($services as $service) {
$serviceName = Helper::serviceName($service['plan']['service_code']);
$benefits = CorporateBenefit::where('plan_id', $service['plan_id'])->with('benefit')->get()->toArray();
$dataBenefit = [];
foreach($benefits as $benefit){
$dataBenefitItem = $benefit['benefit']['description'];
array_push($dataBenefit, $dataBenefitItem);
}
$data = [
'name' => $serviceName,
'benefit' => $dataBenefit
];
array_push($dataServices, $data);
}
}
// LOG
$dataLog = [];
$requestLogs = RequestLog::where('member_id', $this->id)->with('organization')->get()->toArray();
$totalBenefit = 0;
if ($requestLogs) {
foreach($requestLogs as $requestLog) {
$requestLogBenefit = RequestLogBenefit::where('request_log_id', $requestLog['id'])->sum('amount_approved');
$totalBenefit += $requestLogBenefit;
$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'])
];
array_push($dataLog, $data);
}
}
$data = [
'id' => $this->id,
'member_name' => $this->full_name,
@@ -33,6 +78,9 @@ class MemberResource extends JsonResource
'start_date' => $this->members_effective_date,
'corporate_logo' => $_ENV['LMS_APP_STORAGE'] . $this->corporateLogo,
'valid_until' => $this->members_expire_date,
'total_benefit_usage' => $totalBenefit,
'service' => $dataServices,
'histor_log' => $dataLog
];
return $data;