diff --git a/Modules/Internal/Http/Controllers/Api/PrimayanMedicareController.php b/Modules/Internal/Http/Controllers/Api/PrimayanMedicareController.php index 79895c7f..89048047 100644 --- a/Modules/Internal/Http/Controllers/Api/PrimayanMedicareController.php +++ b/Modules/Internal/Http/Controllers/Api/PrimayanMedicareController.php @@ -87,6 +87,7 @@ class PrimayanMedicareController extends Controller 'claim_requests.status', 'claim_requests.created_at as request_date', 'claim_requests.service_code', + 'request_logs.log_type', 'claims.code as claim_code', 'request_logs.code as log_code', DB::raw('COALESCE(log_amounts.total_incurred, claims.amount_incurred, 0) as amount_incurred'), @@ -200,6 +201,7 @@ class PrimayanMedicareController extends Controller 'claim_requests.status', 'claim_requests.created_at as request_date', 'claim_requests.service_code', + 'request_logs.log_type', 'claims.code as claim_code', 'request_logs.code as log_code', DB::raw('COALESCE(log_amounts.total_incurred, claims.amount_incurred, 0) as amount_incurred'), @@ -252,6 +254,7 @@ class PrimayanMedicareController extends Controller 'Plan', 'Benefit', 'Service', + 'Tipe LOG', 'Provider', 'Request Date', 'Amount Incurred', @@ -262,7 +265,7 @@ class PrimayanMedicareController extends Controller ]; $sheet->fromArray($headers, null, 'A1'); - $sheet->getStyle('A1:Q1')->applyFromArray([ + $sheet->getStyle('A1:R1')->applyFromArray([ 'font' => [ 'bold' => true, ], @@ -273,9 +276,15 @@ class PrimayanMedicareController extends Controller $rowIndex = 2; $no = 1; + + $logTypeMap = [ + 'reference' => 'Rujukan', + 'prescription' => 'Resep', + 'consultation' => 'Konsultasi', + ]; + foreach ($results as $item) { - $serviceCode = $item->service_code ?? '-'; - $serviceName = $serviceCodeMap[$serviceCode] ?? $serviceCode; + $logTypeName = $logTypeMap[$item->log_type] ?? $item->log_type ?? '-'; $rowData = [ $no++, @@ -289,13 +298,14 @@ class PrimayanMedicareController extends Controller $item->gender ?? '-', $item->plan_code ?? '-', $item->benefit_name ?? $item->benefit_desc ?? '-', - $serviceName, + $item->service_code ?? '-', + $logTypeName, $item->provider_name ?? '-', $item->request_date ?? '-', - $item->amount_incurred ?? 0, - $item->amount_approved ?? 0, - $item->amount_not_approved ?? 0, - $item->excess_paid ?? 0, + (int)($item->amount_incurred ?? 0), + (int)($item->amount_approved ?? 0), + (int)($item->amount_not_approved ?? 0), + (int)($item->excess_paid ?? 0), $item->status ?? '-', ]; @@ -303,7 +313,7 @@ class PrimayanMedicareController extends Controller $rowIndex++; } - foreach (range('A', 'Q') as $col) { + foreach (range('A', 'R') as $col) { $sheet->getColumnDimension($col)->setAutoSize(true); } diff --git a/frontend/dashboard/src/pages/Report/PrimayanMedicare/List.tsx b/frontend/dashboard/src/pages/Report/PrimayanMedicare/List.tsx index 586551b1..c9123d47 100644 --- a/frontend/dashboard/src/pages/Report/PrimayanMedicare/List.tsx +++ b/frontend/dashboard/src/pages/Report/PrimayanMedicare/List.tsx @@ -41,6 +41,18 @@ const statusColors: Record = { + reference: 'Rujukan', + prescription: 'Resep', + consultation: 'Konsultasi', +}; + +const logTypeColors: Record = { + reference: 'secondary', + prescription: 'warning', + consultation: 'info', +}; + export default function List() { const [searchParams, setSearchParams] = useSearchParams(); const [providers, setProviders] = useState([]); @@ -266,18 +278,6 @@ export default function List() { function Row(props: { row: any }) { const { row } = props; - const serviceCodeMap: Record = { - 'OP': 'Outpatient', - 'IP': 'Inpatient', - 'DE': 'Dental', - 'MA': 'Maternal', - 'GL': 'Optical', - 'MCU': 'Medical Check Up', - 'MEDIVAC': 'Medical Emergency Evacuation', - }; - - const serviceName = serviceCodeMap[row.service_code] || row.service_code || '-'; - return ( @@ -287,7 +287,18 @@ export default function List() { {row.member_name ?? '-'} {row.member_number ?? '-'} - {serviceName} + {row.service_code ?? '-'} + + {row.log_type ? ( + + ) : ( + '-' + )} + {row.provider_name ?? '-'} {row.request_date ?? '-'} {fNumber(parseInt(row.amount_incurred ?? 0))} @@ -362,6 +373,7 @@ export default function List() { Nama Member Member ID Service + Tipe LOG Provider Tanggal Request Amount Incurred @@ -373,7 +385,7 @@ export default function List() { {dataTableIsLoading ? ( - + Loading @@ -381,7 +393,7 @@ export default function List() { ) : dataTableData.data.length === 0 ? ( - + No Data