diff --git a/Modules/Client/Http/Controllers/Api/CorporateMemberController.php b/Modules/Client/Http/Controllers/Api/CorporateMemberController.php index cfc54a63..b8d7695d 100644 --- a/Modules/Client/Http/Controllers/Api/CorporateMemberController.php +++ b/Modules/Client/Http/Controllers/Api/CorporateMemberController.php @@ -215,6 +215,7 @@ class CorporateMemberController extends Controller 'requestLogMedicalPlans:request_log_daily_monitoring_id,plan,type' ], 'service:code,name', + 'files', ]) ->find($request_log_id, ['id', 'submission_date', 'discharge_date', 'member_id', 'service_code', 'organization_id']); diff --git a/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php b/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php index 30bbf193..f37b17b4 100644 --- a/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php +++ b/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php @@ -15,6 +15,33 @@ class DataServiceMonitoring extends JsonResource */ public function toArray($request) { + $files = []; + $filesFinalLogResult = []; + $filesFinalLogDiagnosis = []; + $filesFinalLogKondisi = []; + if (count($this->files)>0){ + foreach ($this->files as $key => $value) { + if($value->type == 'final-log-result'){ + array_push($filesFinalLogResult, $value); + }; + + if($value->type == 'final-log-diagnosis'){ + array_push($filesFinalLogDiagnosis, $value); + } + + if($value->type == 'final-log-kondisi'){ + array_push($filesFinalLogDiagnosis, $value); + } + } + + $files = [ + 'result' => $filesFinalLogResult, + 'diagnosis' => $filesFinalLogDiagnosis, + 'kondisi' => $filesFinalLogKondisi, + + ]; + } + return [ 'companyName' => $this->member->currentCorporate->name ?? null, 'serviceCode' => $this->service_code ?? null, @@ -24,6 +51,7 @@ class DataServiceMonitoring extends JsonResource 'phoneNumber' => $this->person->phone ?? null, 'email' => $this->member->email ?? ($this->member->person->email ?? null), 'serviceName' => $this->service->name ?? ($this->service_code ?? null), + 'files' => $files, 'benefits' => collect($this->requestLogBenefits)->map(function ($requestLogBenefit) { return [ 'amountIncurred' => $requestLogBenefit->amount_incurred, diff --git a/app/Models/Member.php b/app/Models/Member.php index 9062f38c..74ceaf49 100644 --- a/app/Models/Member.php +++ b/app/Models/Member.php @@ -200,7 +200,7 @@ class Member extends Model public function requestLogs() { - return $this->hasMany(RequestLog::class); + return $this->hasMany(RequestLog::class, 'member_id', 'id'); } /* -------------------------------------------------------------------------- */ diff --git a/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx b/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx index 18090a99..7350c6d3 100644 --- a/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx +++ b/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx @@ -129,6 +129,23 @@ type ServiceMonitoringProps = { mainDiagnose: string; comparativeDiagnosis: string; serviceName: string; + files: { + result: { + type: string; + original_name: string; + url: string; + }[]; + diagnosis: { + type: string; + original_name: string; + url: string; + }[]; + kondisi: { + type: string; + original_name: string; + url: string; + }[]; + }; benefits: { amountIncurred: number; amountApproved: number; @@ -439,6 +456,122 @@ export default function ServiceMonitoring() { + + + + {loading ? ( + + ) : ( + 'Files Result' + )} + + + + {loading ? ( + + ) : data && data.files && data.files.result.length > 0 ? + ( + data.files.result.map((file, index) => + ( + ( + + + + {file.original_name ? file.original_name : '-'} + + + + ) + ) + ) + ) : ( + + - + + )} + + + + {loading ? ( + + ) : ( + 'Files Diagnosis' + )} + + + + {loading ? ( + + ) : data && data.files && data.files.diagnosis.length > 0 ? + ( + data.files.diagnosis.map((file, index) => + ( + ( + + + + {file.original_name ? file.original_name : '-'} + + + + ) + ) + ) + ) : ( + + - + + )} + + + + {loading ? ( + + ) : ( + 'Files Kondisi' + )} + + + + {loading ? ( + + ) : data && data.files && data.files.kondisi.length > 0 ? + ( + data.files.kondisi.map((file, index) => + ( + ( + + + + {file.original_name ? file.original_name : '-'} + + + + ) + ) + ) + ) : ( + + - + + )} + + +