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..c3706314 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($filesFinalLogKondisi, $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/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php b/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php
index 4dbe227a..82888c78 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/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/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 1d1d112b..6bd8faaa 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 : '-'}
+
+
+
+ )
+ )
+ )
+ ) : (
+
+ -
+
+ )}
+
+
+
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,
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