feat: add Indonesian log type mapping and color chips to report

This commit is contained in:
Iqbal
2026-05-11 15:01:44 +07:00
parent d96e439b2a
commit 80204a7abb
2 changed files with 46 additions and 24 deletions

View File

@@ -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);
}