From b9a9b539180c20877ee68acb7779c37ba3f1c4ae Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Mon, 5 Feb 2024 16:57:52 +0700 Subject: [PATCH 1/4] tambah listing file di client portal --- .../Api/CorporateMemberController.php | 1 + .../AlarmCenter/DataServiceMonitoring.php | 28 ++++ app/Models/Member.php | 2 +- .../pages/AlarmCenter/ServiceMonitoring.tsx | 133 ++++++++++++++++++ 4 files changed, 163 insertions(+), 1 deletion(-) 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 : '-'} + + + + ) + ) + ) + ) : ( + + - + + )} + + + From 3f151f77538602227ffd93fa775e5c6ebfcacaed Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Mon, 5 Feb 2024 17:08:00 +0700 Subject: [PATCH 2/4] update bugs --- .../Client/Transformers/AlarmCenter/DataServiceMonitoring.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php b/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php index f37b17b4..c3706314 100644 --- a/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php +++ b/Modules/Client/Transformers/AlarmCenter/DataServiceMonitoring.php @@ -30,7 +30,7 @@ class DataServiceMonitoring extends JsonResource } if($value->type == 'final-log-kondisi'){ - array_push($filesFinalLogDiagnosis, $value); + array_push($filesFinalLogKondisi, $value); } } From 826d4eb2a3e3b6125e767d2eeebdc2437c518253 Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Tue, 6 Feb 2024 09:40:17 +0700 Subject: [PATCH 3/4] teupdate data submission date --- Modules/Internal/Transformers/RequestLogResource.php | 1 + Modules/Internal/Transformers/RequestLogShowResource.php | 1 + .../dashboard/src/pages/CustomerService/FinalLog/Detail.tsx | 2 +- frontend/dashboard/src/pages/CustomerService/FinalLog/List.tsx | 2 +- .../src/pages/CustomerService/FinalLog/Model/Types.tsx | 3 ++- 5 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Modules/Internal/Transformers/RequestLogResource.php b/Modules/Internal/Transformers/RequestLogResource.php index 8f0c6458..4bf3cdfe 100644 --- a/Modules/Internal/Transformers/RequestLogResource.php +++ b/Modules/Internal/Transformers/RequestLogResource.php @@ -25,6 +25,7 @@ class RequestLogResource extends JsonResource 'id' => $this->id, 'code' => $this->code, 'submission_date' => $this->submission_date, + 'submission_date_fgl' => $this->approved_final_log_at, 'member_name' => $this->member->name, 'status' => $this->status ?? 'unknown', 'provider' => $provider ? $provider->name : '-', diff --git a/Modules/Internal/Transformers/RequestLogShowResource.php b/Modules/Internal/Transformers/RequestLogShowResource.php index 3b7e774f..26fa5409 100644 --- a/Modules/Internal/Transformers/RequestLogShowResource.php +++ b/Modules/Internal/Transformers/RequestLogShowResource.php @@ -107,6 +107,7 @@ class RequestLogShowResource extends JsonResource 'principal_name' => $requestLog['member']['principal_id'] ? Helper::principalName($requestLog['member']['principal_id']) : '-', 'relation_with_principal' => Helper::relationWithPrincipal($requestLog['member']['relation_with_principal']), 'submission_date' => $requestLog['submission_date'], + 'approved_final_log_at' => $requestLog['approved_final_log_at'], // submission final log 'discharge_date' => $requestLog['discharge_date'], 'service_type' => Helper::serviceName($requestLog['service_code']), 'claim_method' => $requestLog['payment_type'], diff --git a/frontend/dashboard/src/pages/CustomerService/FinalLog/Detail.tsx b/frontend/dashboard/src/pages/CustomerService/FinalLog/Detail.tsx index 15a3a77f..48044d83 100644 --- a/frontend/dashboard/src/pages/CustomerService/FinalLog/Detail.tsx +++ b/frontend/dashboard/src/pages/CustomerService/FinalLog/Detail.tsx @@ -192,7 +192,7 @@ export default function Detail() { Submission Date - {requestLog?.submission_date ? fDateTimesecond(requestLog?.submission_date) : '-'} + {requestLog?.approved_final_log_at ? fDateTimesecond(requestLog?.approved_final_log_at) : '-'} diff --git a/frontend/dashboard/src/pages/CustomerService/FinalLog/List.tsx b/frontend/dashboard/src/pages/CustomerService/FinalLog/List.tsx index 5ac5e5af..960e2674 100644 --- a/frontend/dashboard/src/pages/CustomerService/FinalLog/List.tsx +++ b/frontend/dashboard/src/pages/CustomerService/FinalLog/List.tsx @@ -350,7 +350,7 @@ export default function List() { {row.code} {row.provider} {row.member_name} - + {row.service_name} {row.payment_type_name} diff --git a/frontend/dashboard/src/pages/CustomerService/FinalLog/Model/Types.tsx b/frontend/dashboard/src/pages/CustomerService/FinalLog/Model/Types.tsx index fe0aeefb..46fdd02d 100644 --- a/frontend/dashboard/src/pages/CustomerService/FinalLog/Model/Types.tsx +++ b/frontend/dashboard/src/pages/CustomerService/FinalLog/Model/Types.tsx @@ -15,7 +15,7 @@ export type FinalLogType = { code : string, member : Member, member_name : string, - submission_date : string, + submission_date_fgl : string, service_name : string, payment_type_name : string, status_final_log : string, @@ -36,6 +36,7 @@ export type DetailFinalLogType = { gender : string, marital_status : string, submission_date : string, + approved_final_log_at : string, service_type : string, claim_method : string, status : string, From 975cd46f58c1c019920400b42e9f578a8db92eb5 Mon Sep 17 00:00:00 2001 From: ivan-sim Date: Tue, 6 Feb 2024 10:27:06 +0700 Subject: [PATCH 4/4] Max size upload file --- .../Http/Controllers/Api/RequestLogController.php | 10 ++++++++-- .../src/sections/dashboard/TableListFinalLog.tsx | 2 +- .../src/sections/dashboard/TableListReqLog.tsx | 2 +- resources/lang/en/Message.php | 2 +- resources/lang/en/Validation.php | 4 +++- resources/lang/id/Validation.php | 4 +++- 6 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php b/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php index 39168e81..8d0aa211 100644 --- a/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php +++ b/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php @@ -324,10 +324,16 @@ class RequestLogController extends Controller ]; $validator = Validator::make($request->all(), [ 'request_logs_id' => 'required', - 'discharge_date' => 'required' + 'discharge_date' => 'required', + 'result_files.*' => 'max:10000', + 'diagnosa_files.*' => 'max:10000', + 'kondisi_files.*' => 'max:10000', ], [ 'request_logs_id.required' => trans('Validation.required',['attribute' => 'Request Logs ID']), - 'discharge_date.required' => trans('Validation.required',['attribute' => 'Discharge Date']) + 'discharge_date.required' => trans('Validation.required',['attribute' => 'Discharge Date']), + 'result_files.*.max' => trans('Validation.max.file', ['attribute' => 'Result Files', 'max' => '10 MB' ]), + 'diagnosa_files.*.max' => trans('Validation.max.file', ['attribute' => 'Diagnosis Files', 'max' => '10 MB' ]), + 'kondisi_files.*.max' => trans('Validation.max.file', ['attribute' => 'Condition Files', 'max' => '10 MB' ]), ]); if ($validator->fails()) { diff --git a/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx b/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx index 63365102..010662dc 100644 --- a/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx +++ b/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx @@ -333,7 +333,7 @@ export default function TableListFinalLog() { const response = await axios.get(`/get-final-log`, { params: { ...parameters, search:searchText, order: order, - orderBy: orderBy, type: 'final-log' }, + orderBy: orderBy, status:statusValue, type: 'final-log' }, }); setData( response.data.data.map((obj: any) => ({ diff --git a/frontend/hospital-portal/src/sections/dashboard/TableListReqLog.tsx b/frontend/hospital-portal/src/sections/dashboard/TableListReqLog.tsx index 0b0c8729..17ce8ace 100644 --- a/frontend/hospital-portal/src/sections/dashboard/TableListReqLog.tsx +++ b/frontend/hospital-portal/src/sections/dashboard/TableListReqLog.tsx @@ -326,7 +326,7 @@ export default function TableList() { const response = await axios.get(`/get-request-log`, { params: { ...parameters, search:searchText, order: order, - orderBy: orderBy, type: 'request-log' }, + orderBy: orderBy, status:statusValue, type: 'request-log' }, }); setData( response.data.data.map((obj: any) => ({ diff --git a/resources/lang/en/Message.php b/resources/lang/en/Message.php index d0167b2b..7b8a6c6d 100644 --- a/resources/lang/en/Message.php +++ b/resources/lang/en/Message.php @@ -3,7 +3,7 @@ return [ 'success' => 'Request has been successfully processed.', 'server_error' => 'Internal server error.', - 'not_found' => 'Data not found', + 'not_found' => 'Data not found.', 'password' => 'Password wrong. Please try again.', 'read_notification' => 'Notification has been read.', 'already_exists' => 'Data already exists.', diff --git a/resources/lang/en/Validation.php b/resources/lang/en/Validation.php index c5c2b448..8f242065 100644 --- a/resources/lang/en/Validation.php +++ b/resources/lang/en/Validation.php @@ -3,6 +3,8 @@ return [ 'required' => 'The :attribute field is required.', 'invalid' => 'The :attribute field is invalid.', - 'max' => ':attribute cannot exceed :length characters.', + 'max' => [ + 'file' => ':attribute max size is :max.', + ], 'email' => 'Invalid email format.' ]; \ No newline at end of file diff --git a/resources/lang/id/Validation.php b/resources/lang/id/Validation.php index 2b2ffa07..5a8fdb02 100644 --- a/resources/lang/id/Validation.php +++ b/resources/lang/id/Validation.php @@ -3,6 +3,8 @@ return [ 'required' => 'Kolom :attribute harus diisi.', 'invalid' => 'Kolom :attribute tidak valid.', - 'max' => ':attribute tidak boleh melebihi :length karakter.', + 'max' => [ + 'file' => ':attribute tidak boleh melebihi :max.', + ], 'email' => 'Format email salah.' ]; \ No newline at end of file