@extends('layouts.app') @section('title', 'Edit Sales Invoice') @section('content')

Edit Sales Invoice

@if ($errors->any())
    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach
@endif @if (session('success'))
{{ session('success') }}
@endif @if (session('error'))
{{ session('error') }}
@endif
@csrf @method('PUT')

General Invoice Information

@php $invoiceMonthValue = ''; if ($salesInvoice->invoice_month) { try { // Try to parse M-Y format (e.g., "Jan-2025") if (preg_match('/^[A-Za-z]{3}-\d{4}$/', $salesInvoice->invoice_month)) { $invoiceMonthValue = \Carbon\Carbon::createFromFormat('M-Y', $salesInvoice->invoice_month)->format('Y-m'); } // Try to parse Y-m format (already correct) elseif (preg_match('/^\d{4}-\d{2}$/', $salesInvoice->invoice_month)) { $invoiceMonthValue = $salesInvoice->invoice_month; } // Try to parse other formats else { $invoiceMonthValue = \Carbon\Carbon::parse($salesInvoice->invoice_month)->format('Y-m'); } } catch (\Exception $e) { $invoiceMonthValue = $salesInvoice->invoice_month; } } else { $invoiceMonthValue = \Carbon\Carbon::now()->format('Y-m'); } @endphp

Item Details @php $rqUpr = (int) request()->query('upr', 0); $rqDwn = (int) request()->query('dwn', 0); $rqDisc = (int) request()->query('disc', 0); $hasRq = ($rqUpr + $rqDwn + $rqDisc) > 0; $rqMap = []; $reqIds = collect(explode(',', (string) request()->query('req', ''))) ->filter(fn($v) => is_numeric($v)) ->map(fn($v) => (int) $v) ->values(); if ($reqIds->count() > 0) { $rqItems = \App\Models\BandwidthUpdownRequest::with('currentSalesInvoiceItem') ->whereIn('id', $reqIds) ->get(); foreach ($rqItems as $rq) { $itemId = optional($rq->currentSalesInvoiceItem)->id; if (!$itemId) { continue; } if (!isset($rqMap[$itemId])) { $rqMap[$itemId] = []; } $rqMap[$itemId][] = [ 'type' => $rq->request_type, 'bandwidth' => $rq->new_bandwidth_mbps ]; } } @endphp @if($hasRq) Upgrade: {{ $rqUpr }} Downgrade: {{ $rqDwn }} Discontinue: {{ $rqDisc }} {{-- Per-item summary next to header --}} @foreach($salesInvoice->items as $hdrItem) @php $hdrItemRq = $rqMap[$hdrItem->id] ?? []; @endphp @if(!empty($hdrItemRq)) @foreach($hdrItemRq as $rq) @if($rq['type']==='upgrade') {{ $hdrItem->item_name ?? 'Item' }}: Upgrade to {{ number_format($rq['bandwidth'], 2) }} Mbps @elseif($rq['type']==='downgrade') {{ $hdrItem->item_name ?? 'Item' }}: Downgrade to {{ number_format($rq['bandwidth'], 2) }} Mbps @elseif($rq['type']==='discontinue') {{ $hdrItem->item_name ?? 'Item' }}: Discontinue @endif @endforeach @endif @endforeach @endif

@php $itemsToShow = isset($rqMap) && !empty($rqMap) ? $salesInvoice->items->filter(function($it) use ($rqMap) { return array_key_exists($it->id, $rqMap); })->values() : $salesInvoice->items; @endphp @foreach($itemsToShow as $index => $item) @endforeach
Item Description Unit Quantity Rate VAT(%) Total VAT From Date To Date Total Action
@php /* per-row request badges removed as per requirement */ @endphp
Total Amount: ৳{{ number_format($salesInvoice->invoice_amount, 2) }}

Additional Information

Back to Sales Invoices
@endsection