From 14e01827099fc60f59c020f9ef1e39f5c9bcc1ab Mon Sep 17 00:00:00 2001 From: ivan-sim Date: Tue, 14 Apr 2026 16:23:22 +0700 Subject: [PATCH] update revisi --- .../Controllers/Api/RequestLogController.php | 8 +-- .../Controllers/Api/RequestLogController.php | 22 +++++-- .../Transformers/RequestLogShowResource.php | 5 +- .../Components/DialogConfirmation.tsx | 56 +++++++++--------- .../Components/DialogEditFinalLOG.tsx | 44 ++++++++------ .../pages/CustomerService/FinalLog/Detail.tsx | 14 +++-- .../CustomerService/FinalLog/Model/Types.tsx | 1 + .../Request/Components/DialogConfirmation.tsx | 58 ++++++++++--------- .../Components/DialogEditInformation.tsx | 50 ++++++++-------- .../pages/CustomerService/Request/Detail.tsx | 12 ++-- .../CustomerService/Request/Model/Types.tsx | 1 + .../Components/DialogConfirmation.tsx | 42 ++++++++------ .../Components/DialogEditFinalLOG.tsx | 50 +++++++++------- .../dashboard/DetailRequestFinalLog.tsx | 36 +++++++++--- .../src/sections/dashboard/Model/Types.ts | 1 + .../sections/dashboard/TableListFinalLog.tsx | 2 +- .../pdf/final_log_page_1_primayan.blade.php | 10 ++-- .../pdf/req_log_page_1_primayan.blade.php | 8 +-- 18 files changed, 243 insertions(+), 177 deletions(-) diff --git a/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php b/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php index dd1ca899..66edb01f 100755 --- a/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php +++ b/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php @@ -375,14 +375,14 @@ class RequestLogController extends Controller DB::table('request_logs') ->where('request_logs.id', '=', $request->request_logs_id) ->update([ - 'status_final_log' => 'requested', - 'final_log' => 1, + 'status_final_log' => $request->edit ? null : 'requested', + 'final_log' => $request->edit ? 0 : 1, 'service_code' =>$request->service_code, 'discharge_date' => $request->discharge_date, 'dppj' => $request->dppj, 'specialities_id' => $request->spescialis_id, - 'created_final_by'=> auth()->user()->id, - 'created_final_at'=> date('Y-m-d H:i:s'), + 'created_final_by'=> $request->edit ? null : auth()->user()->id, + 'created_final_at'=> $request->edit ? null : date('Y-m-d H:i:s'), ]); if ($request->hasFile('result_files')) { foreach ($request->result_files as $file) { diff --git a/Modules/Internal/Http/Controllers/Api/RequestLogController.php b/Modules/Internal/Http/Controllers/Api/RequestLogController.php index 8c924a14..0be472cb 100755 --- a/Modules/Internal/Http/Controllers/Api/RequestLogController.php +++ b/Modules/Internal/Http/Controllers/Api/RequestLogController.php @@ -517,9 +517,7 @@ class RequestLogController extends Controller } else { $requestLog->diagnosis = ''; } - if (!empty($request->status)) { - $requestLog->status_final_log = $status; - } + if (!empty($request->reason)) { $requestLog->reason_final = $request->reason; @@ -533,9 +531,21 @@ class RequestLogController extends Controller $requestLog->organization_id = $request->organization_id; } - $requestLog->final_log = 1; - $requestLog->approved_final_log_by = auth()->user()->id; - $requestLog->approved_final_log_at = Carbon::now(); + if(empty($request->edit)) { + if (!empty($request->status)) { + $requestLog->status_final_log = $status; + if($request->status == 'requested') { + $requestLog->final_log = 1; + $requestLog->created_final_by = auth()->user()->id; + $requestLog->created_final_at = date('Y-m-d H:i:s'); + } + if($request->status == 'approved') { + $requestLog->approved_final_log_by = auth()->user()->id; + $requestLog->approved_final_log_at = Carbon::now(); + } + } + } + // if($requestLog->service_code != 'IP'){ // $requestLog->discharge_date = Carbon::now(); // } diff --git a/Modules/Internal/Transformers/RequestLogShowResource.php b/Modules/Internal/Transformers/RequestLogShowResource.php index 1a6fac3e..14b42009 100755 --- a/Modules/Internal/Transformers/RequestLogShowResource.php +++ b/Modules/Internal/Transformers/RequestLogShowResource.php @@ -15,6 +15,7 @@ use App\Models\ClaimRequest; use App\Models\Icd; use App\Models\Speciality; use App\Helpers\Helper; +use App\Models\Corporate; use App\Models\CorporatePolicy; use Illuminate\Http\Resources\Json\JsonResource; @@ -135,6 +136,8 @@ class RequestLogShowResource extends JsonResource } else { $dppj = '-'; } + //cek untuk view omt non omt + $code_corporate = Corporate::where('id', $corporateId)->first(); $data = [ 'id' => $requestLog['id'], 'code' => $requestLog['code'], @@ -186,7 +189,7 @@ class RequestLogShowResource extends JsonResource 'diagnosis' => $icd, 'url_approval' => env('LMS_WEB_URL') . '/custormer-service/final-log/detail/'.$requestLog['id'] . '/' . auth()->user()->id, 'is_reversal' => $isReversal, // untuk penjagaan, jika true tidak bisa di edit/hapus lagi - + 'view_type_member' => $code_corporate->code == 'VALEIND' ? true : false, ]; diff --git a/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogConfirmation.tsx b/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogConfirmation.tsx index 8b6ce0d5..9aa56ee4 100644 --- a/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogConfirmation.tsx +++ b/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogConfirmation.tsx @@ -14,7 +14,7 @@ type DialogConfirmationType = { setOpenDialog: any; onSubmit?: void; approve: string; - requestLog: DetailFinalLogType|undefined; + requestLog: DetailFinalLogType|undefined; } export default function DialogConfirmation({requestLog, setOpenDialog, openDialog, approve, onSubmit} : DialogConfirmationType ) { @@ -29,7 +29,7 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo // icdCodes: requestLog?.diagnosis.length ? requestLog.diagnosis.map(diagnosis => ({ value: diagnosis.id, label: diagnosis.name })) : [] icdCodes: requestLog?.diagnosis }); - + const [error, setError] = useState(false); const [icdOptions, setIcdOptions] = useState([ @@ -73,10 +73,10 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo } const handleSubmit = () => { - if (formData.type_of_member == "" && requestLog?.corporate_id == 5) { // corporate vale + if (formData.type_of_member == "" && requestLog?.view_type_member) { // corporate vale setError(true); alert('Silakan pilih Type Of Member sebelum mengirimkan data.'); - } + } else { axios .post(`customer-service/request/final-log`, formData) @@ -121,10 +121,12 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo Member ID {requestLog?.member_id} - - Member Of Type - {requestLog?.type_of_member} - + {requestLog?.view_type_member ? ( + + Member Of Type + {requestLog?.type_of_member} + + ):('')} Policy Number {requestLog?.policy_number} @@ -189,24 +191,26 @@ export default function DialogConfirmation({requestLog, setOpenDialog, openDialo )} /> - - Type Of Member* - - + {requestLog?.view_type_member ? ( + + Type Of Member + + + ):('')} diff --git a/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogEditFinalLOG.tsx b/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogEditFinalLOG.tsx index 498fa8b4..25a3bde1 100644 --- a/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogEditFinalLOG.tsx +++ b/frontend/dashboard/src/pages/CustomerService/FinalLog/Components/DialogEditFinalLOG.tsx @@ -30,6 +30,7 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo reason: requestLog?.reason, type_of_member: requestLog?.type_of_member, organization_id: requestLog?.organization_id || 0, + edit: true }); @@ -64,6 +65,7 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo reason: requestLog?.reason|| '', type_of_member: requestLog?.type_of_member|| '', organization_id: requestLog?.organization_id || 0, + edit: true }); setIdProvider(requestLog?.organization_id || 0); @@ -101,7 +103,7 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo const handleSubmit = () => { - if (formData.type_of_member == "" && requestLog?.corporate_id == 5) { + if (formData.type_of_member == "" && requestLog?.view_type_member) { setError(true); alert('Silakan pilih Type Of Member sebelum mengirimkan data.'); } @@ -148,6 +150,7 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo reason: requestLog?.reason ?? '', type_of_member: requestLog?.type_of_member ?? '', organization_id: requestLog?.organization_id || 0, + edit: true }); }; @@ -163,6 +166,7 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo { value: 'endorsement', label: 'Endorsement' }, { value: 'renewal', label: 'Renewal' }, { value: 'wrong_setting', label: 'Wrong Setting' }, + { value: 'approval', label: 'Approval' }, // Add more options as needed ]; @@ -261,24 +265,26 @@ export default function DialogEditFinalLOG({requestLog, setOpenDialog, openDialo onChange={(e) => handleChange('billing_no', e.target.value)} /> - - Type Of Member* - - + {requestLog?.view_type_member ? ( + + Type Of Member + + + ):('')} Discharge Date Member ID {requestLog?.member_id} - - Type Of Member - {requestLog?.type_of_member} - + {requestLog?.view_type_member ? ( + + Type Of Member + {requestLog?.type_of_member} + + ):('')} Policy Number {requestLog?.policy_number} @@ -1275,7 +1277,7 @@ function submitRequestFinalLog() { {requestLog?.status_final_log == 'requested' ? ( - + <>
) } - + ); diff --git a/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogEditInformation.tsx b/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogEditInformation.tsx index b0b02131..e545a52e 100644 --- a/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogEditInformation.tsx +++ b/frontend/dashboard/src/pages/CustomerService/Request/Components/DialogEditInformation.tsx @@ -17,7 +17,7 @@ type DialogConfirmationType = { openDialog: boolean; setOpenDialog: any; onSubmit?: void; - requestLog: DetailRequestLogType|undefined; + requestLog: DetailRequestLogType|undefined; } export default function DialogEditInformation({requestLog, setOpenDialog, openDialog, onSubmit} : DialogConfirmationType ) { @@ -34,7 +34,7 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi const [error, setError] = useState(false); const [isReasonSelected, setIsReasonSelected] = useState(true); - + useEffect(() => { // Update formData setiap kali requestLog berubah setFormData({ @@ -65,10 +65,10 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi })); handleSubmit(); }; - + const handleSubmit = () => { - if (formData.type_of_member == "" && requestLog?.corporate_id == 5) { + if (formData.type_of_member == "" && requestLog?.view_type_member) { setError(true); alert('Silakan pilih Type Of Member sebelum mengirimkan data.'); } else if (isReasonSelected && formData.reason !== '') { @@ -88,7 +88,7 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi alert('Silakan pilih alasan sebelum mengirimkan data.'); } - + } const style1 = { @@ -114,7 +114,7 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi penempatan_kamar: requestLog?.penempatan_kamar ?? '', reason: requestLog?.reason ?? '', type_of_member: requestLog?.type_of_member ?? '' - + }); }; @@ -201,24 +201,26 @@ export default function DialogEditInformation({requestLog, setOpenDialog, openDi onChange={(e) => handleChange('penempatan_kamar', e.target.value)} /> - - Type Of Member* - - + {requestLog?.view_type_member ? ( + + Type Of Member + + + ):('')} Reason* Member ID {requestLog?.member_id} - - Type Of Member - {requestLog?.type_of_member} - + {requestLog?.view_type_member ? ( + + Type Of Member + {requestLog?.type_of_member} + + ):('')} Policy Number {requestLog?.policy_number} @@ -192,7 +194,7 @@ export default function Detail() { {requestLog?.status == 'requested' || requestLog?.status == 'canceled' || requestLog?.status == 'waiting_billing' ? ( - + <>
diff --git a/frontend/hospital-portal/src/sections/dashboard/Model/Types.ts b/frontend/hospital-portal/src/sections/dashboard/Model/Types.ts index 0466ff70..5efb4c56 100644 --- a/frontend/hospital-portal/src/sections/dashboard/Model/Types.ts +++ b/frontend/hospital-portal/src/sections/dashboard/Model/Types.ts @@ -35,6 +35,7 @@ export type DetailFinalLogType = { id : number, code : string, member_id : string, + view_type_member : any, organization_id : any, id_member : string, service_code : string, diff --git a/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx b/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx index 5e316e26..1c2af680 100644 --- a/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx +++ b/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx @@ -484,7 +484,7 @@ export default function TableListFinalLog() { } > - Edit Request Final LOG + Edit ):''} {obj.status === 'approved' ? ( diff --git a/resources/views/pdf/final_log_page_1_primayan.blade.php b/resources/views/pdf/final_log_page_1_primayan.blade.php index a8604520..f5a98f47 100644 --- a/resources/views/pdf/final_log_page_1_primayan.blade.php +++ b/resources/views/pdf/final_log_page_1_primayan.blade.php @@ -253,10 +253,10 @@ {{ $dataMember->code_plan }} -
+ +
LinkSehat bertindak mewakili perusahaan asuransi/penanggung untuk mengeluarkan Surat Jaminan Akhir untuk peserta dibawah ini :
@@ -439,7 +439,7 @@ @php if(count($dataDiagnosis)) { - foreach ($dataDiagnosis as $valDiagnosis) + foreach ($dataDiagnosis as $valDiagnosis) { @endphp @@ -453,7 +453,7 @@ @endphp - - + @php } @endphp diff --git a/resources/views/pdf/req_log_page_1_primayan.blade.php b/resources/views/pdf/req_log_page_1_primayan.blade.php index e7bb838f..c1a157a9 100644 --- a/resources/views/pdf/req_log_page_1_primayan.blade.php +++ b/resources/views/pdf/req_log_page_1_primayan.blade.php @@ -260,10 +260,10 @@ {{ $dataMember->code_plan }} -
+ +
LinkSehat bertindak mewakili perusahaan asuransi/penanggung untuk mengeluarkan Surat Jaminan Awal untuk peserta dibawah ini :
@@ -395,7 +395,7 @@
SYARAT DAN KETENTUAN
- +
1.