@extends('admin.layouts.app') @section('page-title', 'Container Details') @section('content')

Container {{ $container->container_number }}

Edit loading list directly – like Excel. TT columns auto‑calculate from CTN, QTY, CBM, KG, PRICE.
Container Information
Container
{{ $container->container_name ?? $container->container_number }}
Date
{{ $container->container_date ? $container->container_date->format('d-m-Y') : '' }}
Excel File
@if($container->excel_file) Download / View @else Not uploaded @endif
@php $totalCtn = 0; $totalQty = 0; $totalCbm = 0.0; $totalKg = 0.0; if(!$container->rows->isEmpty()){ foreach ($container->rows as $row) { if (!is_array($row->data)) continue; foreach ($row->data as $h => $v) { $norm = strtoupper(str_replace([' ', '/', '-', '.'],'', $h)); $val = is_numeric(str_replace([','], '', $v)) ? floatval(str_replace([','], '', $v)) : 0; if (str_contains($norm, 'TOTALCTN') || $norm === 'CTN' || str_contains($norm,'TOTALCNTR') || str_contains($norm,'TOTALCARTON')) { $totalCtn += $val; } if ( str_contains($norm,'TOTALQTY') || str_contains($norm,'ITLQTY') || str_contains($norm,'TTLQTY') ) { $totalQty += $val; } if ( str_contains($norm,'TOTALCBM') || str_contains($norm,'TTLCBM') || str_contains($norm,'ITLCBM') ) { $totalCbm += $val; } if ( str_contains($norm,'TOTALKG') || str_contains($norm,'TTKG') ) { $totalKg += $val; } } } } @endphp @if(!$container->rows->isEmpty())
Total CTN
{{ number_format($totalCtn, 0) }}
Total QTY
{{ number_format($totalQty, 0) }}
Total CBM
{{ number_format($totalCbm, 3) }}
Total KG
{{ number_format($totalKg, 2) }}
@endif @if($container->rows->isEmpty())
No entries found for this container.
@else @php $allHeadings = []; foreach ($container->rows as $row) { if (is_array($row->data)) { $allHeadings = array_unique(array_merge($allHeadings, array_keys($row->data))); } } @endphp
Total rows: {{ $container->rows->count() }}   Edit cells then click "Save Changes".
@csrf
@foreach($allHeadings as $heading) @endforeach @foreach($container->rows as $index => $row) @foreach($allHeadings as $heading) @php $value = $row->data[$heading] ?? ''; $norm = strtoupper(str_replace([' ', '/', '-', '.'],'', $heading)); $isCtn = str_contains($norm, 'CTN'); $isTotalQty = ( str_contains($norm, 'TOTALQTY') || str_contains($norm, 'ITLQTY') || str_contains($norm, 'TTLQTY') ); $isQty = !$isTotalQty && ( str_contains($norm, 'QTY') || str_contains($norm, 'PCS') || str_contains($norm, 'PIECES') ); $isTotalCbm = ( str_contains($norm, 'TOTALCBM') || str_contains($norm, 'TTLCBM') || str_contains($norm, 'ITLCBM') ); $isCbm = !$isTotalCbm && str_contains($norm, 'CBM'); $isTotalKg = ( str_contains($norm, 'TOTALKG') || str_contains($norm, 'TTKG') ); $isKg = !$isTotalKg && (str_contains($norm, 'KG') || str_contains($norm, 'WEIGHT')); $isPrice = (str_contains($norm, 'PRICE') || str_contains($norm, 'RATE')); $isAmount = ( str_contains($norm, 'AMOUNT') || str_contains($norm, 'TTLAMOUNT') || str_contains($norm, 'TOTALAMOUNT') ); $isTotalColumn = $isTotalQty || $isTotalCbm || $isTotalKg || $isAmount; $isLockedByInvoice = in_array($row->row_index, $lockedRowIndexes ?? []); $isReadOnly = $isTotalColumn || $container->status !== 'pending' || $isLockedByInvoice; @endphp @endforeach @endforeach
#{{ $heading }}
{{ $index + 1 }}
@endif
@if(!$container->rows->isEmpty()) @endif
@endsection