diff --git a/database/seeders/UpdateTarifLMSSeeder.php b/database/seeders/UpdateTarifLMSSeeder.php new file mode 100644 index 00000000..ec4c011e --- /dev/null +++ b/database/seeders/UpdateTarifLMSSeeder.php @@ -0,0 +1,212 @@ + "A", + // "sHealthCare" => "Rumah Sakit Awal Bros Sudirman Pekanbaru", + // ], + // [ + // "sKodeRS" => "B", + // "sHealthCare" => "Rumah Sakit Awal Bros Batam", + // ], + // [ + // "sKodeRS" => "BW", + // "sHealthCare" => "Primaya Hospital Bhakti Wara", + // ], + // [ + // "sKodeRS" => "C", + // "sHealthCare" => "Primaya Hospital Tangerang", + // ], + // [ + // "sKodeRS" => "D", + // "sHealthCare" => "Primaya Hospital Bekasi Barat", + // ], + // [ + // "sKodeRS" => "E", + // "sHealthCare" => "Primaya Evasari Hospital", + // ], + // [ + // "sKodeRS" => "F", + // "sHealthCare" => "Primaya Hospital Makassar", + // ], + // [ + // "sKodeRS" => "G", + // "sHealthCare" => "Rumah Sakit Awal Bros Ujung Batu", + // ], + // [ + // "sKodeRS" => "I", + // "sHealthCare" => "Rumah Sakit Awal Bros Panam", + // ], + // [ + // "sKodeRS" => "K", + // "sHealthCare" => "Rumah Sakit Awal Bros Ahmad Yani", + // ], + // [ + // "sKodeRS" => "M", + // "sHealthCare" => "Primaya Hospital Bekasi Timur", + // ], + // [ + // "sKodeRS" => "N", + // "sHealthCare" => "Primaya Hospital Betang Pambelum", + // ], + // [ + // "sKodeRS" => "O", + // "sHealthCare" => "Primaya Hospital Inco Sorowako", + // ], + // [ + // "sKodeRS" => "P", + // "sHealthCare" => "Primaya Hospital Bekasi Utara", + // ], + // [ + // "sKodeRS" => "PK", + // "sHealthCare" => "Primaya Hospital Pasar Kemis", + // ], + // [ + // "sKodeRS" => "Q", + // "sHealthCare" => "Primaya Hospital Karawang", + // ], + // [ + // "sKodeRS" => "SK", + // "sHealthCare" => "Primaya Hospital Sukabumi", + // ], + // ] + + $dataTarifs = [ + // [ + // 'adm_rajal' => null, + + // 'appt_umum' => null, + // 'walkin_umum' => null, + // 'telekonsul_umum' => null, + + // 'appt_spesialis' => 250000, + // 'walkin_spesialis' => 250000, + // 'telekonsul_spesialis' => 213000, + + // 'appt_subspesialis' => 345000, + // 'walkin_subspesialis' => 345000, + // 'telekonsul_subspesialis' => 293000, + + // 'applied_to' => ['A', 'KODERSLMS'] + // ], + [ + 'adm_rajal' => 100000, + + 'appt_umum' => 120000, + 'walkin_umum' => 120000, + 'telekonsul_umum' => 102000, + + 'appt_spesialis' => 250000, + 'walkin_spesialis' => 250000, + 'telekonsul_spesialis' => 213000, + + 'appt_subspesialis' => 345000, + 'walkin_subspesialis' => 345000, + 'telekonsul_subspesialis' => 293000, + + 'applied_to' => ['P'] + ] + ]; + + $spesialisUmum = Speciality::where('sSlug', 'general-practitioner')->first(); + + foreach ($dataTarifs as $tarif) { + // [MARK] : UMUM + // Update Tarif Dokter Umum + $updateUmum = []; + if ($tarif['walkin_umum'] != null) { + $updateUmum['nBiaya'] = $tarif['walkin_umum']; + } + if ($tarif['telekonsul_umum'] != null) { + $updateUmum['nBiayaTC'] = $tarif['telekonsul_umum']; + $updateUmum['nBiayaATC'] = $tarif['telekonsul_umum']; + } + if (count($updateUmum)) { + // $updateUmum['dUpdateOn'] = now(); + // Updating + $dokUmum = JadwalDokter::query() + ->where('nIDSpesialis', $spesialisUmum->nID) + ->whereHas('healthcare', function($hc) use ($tarif) { + $hc->whereIn('sKodeRS', $tarif['applied_to']) + ->withTrashed(); + }) + ->withTrashed() + ->update($updateUmum); + $this->command->info('Updating : Dokter Umum'); + } + + // [MARK] : SPESIALIS + // Update Tarif Dokter Spesialis + $updateSpesialis = []; + if ($tarif['walkin_spesialis'] != null) { + $updateSpesialis['nBiaya'] = $tarif['walkin_spesialis']; + } + if ($tarif['telekonsul_spesialis'] != null) { + $updateSpesialis['nBiayaTC'] = $tarif['telekonsul_spesialis']; + $updateSpesialis['nBiayaATC'] = $tarif['telekonsul_spesialis']; + } + if (count($updateSpesialis)) { + // $updateSpesialis['dUpdateOn'] = now(); + // Updating + $dokSpesialis = JadwalDokter::query() + ->whereNot(function ($q) use ($spesialisUmum) { + $q->where('nIDSpesialis', $spesialisUmum->nID); + }) + ->where('sIsSubSpesialis', 0) + ->whereHas('healthcare', function($hc) use ($tarif) { + $hc->whereIn('sKodeRS', $tarif['applied_to']) + ->withTrashed(); + }) + ->withTrashed() + ->update($updateSpesialis); + $this->command->info('Updating : Dokter Spesialis'); + } + + + // [MARK] : SUBSPESIALIS + // Update Tarif Dokter Sub Spesialis + $updateSubSpesialis = []; + if ($tarif['walkin_subspesialis'] != null) { + $updateSubSpesialis['nBiaya'] = $tarif['walkin_subspesialis']; + } + if ($tarif['telekonsul_subspesialis'] != null) { + $updateSubSpesialis['nBiayaTC'] = $tarif['telekonsul_subspesialis']; + $updateSubSpesialis['nBiayaATC'] = $tarif['telekonsul_subspesialis']; + } + if (count($updateSubSpesialis)) { + // $updateSubSpesialis['dUpdateOn'] = now(); + + // Updating + $dokSubSpesialis = JadwalDokter::query() + ->whereNot(function ($q) use ($spesialisUmum) { + $q->where('nIDSpesialis', $spesialisUmum->nID); + }) + ->where('sIsSubSpesialis', 1) + ->whereHas('healthcare', function($hc) use ($tarif) { + $hc->whereIn('sKodeRS', $tarif['applied_to']) + ->withTrashed(); + }) + ->withTrashed() + ->update($updateSubSpesialis); + $this->command->info('Updating : Dokter Sub Spesialis'); + } + } + } +} diff --git a/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx b/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx index 061c81fe..87264886 100644 --- a/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx +++ b/frontend/hospital-portal/src/sections/dashboard/TableListFinalLog.tsx @@ -38,7 +38,7 @@ export default function TableListFinalLog() { const [data, setData] = useState([]); // Download LOG - async function handleDownloadLog(request_log_id: any, service_code:any, no_polis:any, full_name:any) { + async function handleDownloadLog(request_log_id: any, service_code:any, no_polis:any, full_name:any, provider:any) { return axios .get(`download-final-log/${request_log_id}`, { responseType: 'blob', @@ -46,7 +46,7 @@ export default function TableListFinalLog() { .then((response) => { console.log(response); // GL Akhir-010124-OP-00001234 Ratih-LinkSehat - const namaFile = 'GL Akhir-'+getFormattedToday()+'-'+service_code+'-'+no_polis+'-'+full_name+'-LinkSehat.pdf'; + const namaFile = 'GL Akhir-'+provider+'-'+getFormattedToday()+'-'+service_code+'-'+no_polis+'-'+full_name+'-LinkSehat.pdf'; const url = URL.createObjectURL(response.data); const link = document.createElement('a'); link.href = url; @@ -369,7 +369,7 @@ export default function TableListFinalLog() { View {obj.status === 'approved' ? ( - handleDownloadLog(obj.id, obj.service_code, obj.no_polis, obj.full_name)}> + handleDownloadLog(obj.id, obj.service_code, obj.no_polis, obj.full_name, obj.provider)}> Download Final LOG diff --git a/frontend/hospital-portal/src/sections/dashboard/TableListReqLog.tsx b/frontend/hospital-portal/src/sections/dashboard/TableListReqLog.tsx index 4f1ddd11..f3d949cf 100644 --- a/frontend/hospital-portal/src/sections/dashboard/TableListReqLog.tsx +++ b/frontend/hospital-portal/src/sections/dashboard/TableListReqLog.tsx @@ -42,15 +42,14 @@ export default function TableList() { const [data, setData] = useState([]); // Download LOG - async function handleDownloadLog(request_log_id: any, service_code:any, no_polis:any, full_name:any) { + async function handleDownloadLog(request_log_id: any, service_code:any, no_polis:any, full_name:any, provider:any) { return axios .get(`download-log/${request_log_id}`, { responseType: 'blob', }) .then((response) => { - console.log(response); // GL Awal-010124-OP-00001234 Ratih-LinkSehat - const namaFile = 'GL Awal-'+getFormattedToday()+'-'+service_code+'-'+no_polis+'-'+full_name+'-LinkSehat.pdf'; + const namaFile = 'GL Awal-'+provider+'-'+getFormattedToday()+'-'+service_code+'-'+no_polis+'-'+full_name+'-LinkSehat.pdf'; const url = URL.createObjectURL(response.data); const link = document.createElement('a'); link.href = url; @@ -368,7 +367,7 @@ export default function TableList() { View {obj.status === 'approved' ? ( - handleDownloadLog(obj.id, obj.service_code, obj.no_polis, obj.full_name)}> + handleDownloadLog(obj.id, obj.service_code, obj.no_polis, obj.full_name, obj.provider)}> Download LOG