@php $package = $packages->first(); $branchName = ''; if (!empty($order->HOSPITAL_ID) && $order->HOSPITAL_ID == 2 && !empty($order->eNDUSER->IS_COMPANY) && $order->eNDUSER->IS_COMPANY == 1) { $branchName = $order->eNDUSER->COMPANY_NAME; } elseif (!empty($order->HOSPITAL_ID) && $order->HOSPITAL_ID != 2) { $branchName = $order->HOSPITAL->NAME_EN; } elseif (empty($order->HOSPITAL_ID) && !empty($order->eNDUSER->IS_COMPANY) && $order->eNDUSER->IS_COMPANY == 1) { $branchName = $order->eNDUSER->COMPANY_NAME; } elseif (empty($order->HOSPITAL_ID)) { $branchName = 'Home Visit'; } else { $branchName = 'Normal Patient - ' . ($package->NAME ?? ''); } $patientName = $package->NAME ?? ''; $reservationId = $order->ID ?? ''; $intendNumber = $package->INTEND_NUMBER ?? ''; $barcodeLabel = $package->BARCODE_LABEL ?? ''; $collectionTime = ''; if (!empty($package->COLLECTION_TIME) && $package->COLLECTION_TIME !== '0000-00-00 00:00:00') { $collectionTime = date('d/m/Y', strtotime($package->COLLECTION_TIME)); } elseif (!empty($package->CREATE_DATE)) { $collectionTime = date('d/m/Y', strtotime($package->CREATE_DATE)); } elseif (!empty($package->created_at)) { $collectionTime = date('d/m/Y', strtotime($package->created_at)); } $collectionLine = trim(($barcodeLabel ? $barcodeLabel . ' ' : '') . $collectionTime); $labels = []; // Always print the main label (no block letter) first if (!empty($package) && empty($package->IS_PACKAGE)) { $labels[] = [ 'intend_number' => $intendNumber, 'block_letter' => '', ]; } // Then one label per block if (!empty($package_blocks) && count($package_blocks) > 0) { foreach ($package_blocks as $block) { $blockCode = $block->BLOCK_CODE ?? ''; $blockLetter = ''; if (!empty($intendNumber) && strpos($blockCode, $intendNumber) === 0) { $blockLetter = substr($blockCode, strlen($intendNumber)); } elseif (!empty($blockCode)) { $blockLetter = substr($blockCode, -1); } $labels[] = [ 'intend_number' => $intendNumber, 'block_letter' => $blockLetter, ]; } } @endphp {{-- OLD LAYOUT (table-style specimen print) — kept for reference @foreach($packages as $package) @if(!empty($package->COLLECTION_TIME) && empty($package->IS_PACKAGE))
{{$package->INTEND_NUMBER}}
{{$package->NAME}}
{{$order->ID}}
{{date('d/m/Y',strtotime($package->COLLECTION_TIME))}}
@endif @endforeach --}} @foreach($labels as $label) @php $hasBlockLetter = !empty($label['block_letter']); @endphp
{{ $branchName }}
{{ $label['intend_number'] }}
{{ $patientName }}
{{ $reservationId }}
@if(!$hasBlockLetter)
@endif
{{ $label['block_letter'] }}
{{ $collectionLine }}
@endforeach