From 9cc6959396e193c4c2c8314b1cf681b096a912dfed1bd9e8b27e2a44013b7037 Mon Sep 17 00:00:00 2001 From: Utkarsh Khedkar Date: Mon, 9 Mar 2026 10:24:44 +0530 Subject: [PATCH] Pdf Changes Done --- .../Admin/AdminInvoiceController.php | 163 +-- .../Admin/AdminOrderController.php | 2 + app/Http/Controllers/ContainerController.php | 305 ++++-- app/Models/InvoiceItem.php | 4 +- app/Models/User.php | 9 +- ..._132057_add_status_to_containers_table.php | 2 +- ...8_051812_add_duedate_to_invoices_table.php | 21 +- ...lter_status_length_on_containers_table.php | 26 + public/invoices/invoice-INV-2026-000110.pdf | Bin 0 -> 63053 bytes public/invoices/invoice-INV-2026-000116.pdf | Bin 0 -> 63046 bytes public/invoices/invoice-INV-2026-000117.pdf | Bin 0 -> 62641 bytes public/invoices/invoice-INV-2026-000134.pdf | Bin 0 -> 59900 bytes .../container_popup_readonly.blade.php | 102 ++ resources/views/admin/account.blade.php | 8 +- resources/views/admin/container.blade.php | 419 ++++---- .../views/admin/container_create.blade.php | 42 +- resources/views/admin/container_pdf.blade.php | 202 ++++ .../views/admin/container_show.blade.php | 748 +++++++++++--- resources/views/admin/customers.blade.php | 427 +++----- .../views/admin/customers_view.blade.php | 118 ++- resources/views/admin/dashboard.blade.php | 18 +- resources/views/admin/invoice.blade.php | 669 +++++++------ resources/views/admin/invoice_edit.blade.php | 39 +- resources/views/admin/orders.blade.php | 264 ++++- resources/views/admin/popup_invoice.blade.php | 765 ++++++++------- resources/views/admin/reports.blade.php | 14 +- resources/views/admin/requests.blade.php | 199 ++-- resources/views/admin/staff/create.blade.php | 6 + resources/views/admin/staff/edit.blade.php | 6 + resources/views/admin/staff/index.blade.php | 927 +++++++++--------- resources/views/welcome.blade.php | 36 - routes/web.php | 63 +- 32 files changed, 3416 insertions(+), 2188 deletions(-) create mode 100644 database/migrations/2026_03_01_075242_alter_status_length_on_containers_table.php create mode 100644 public/invoices/invoice-INV-2026-000110.pdf create mode 100644 public/invoices/invoice-INV-2026-000116.pdf create mode 100644 public/invoices/invoice-INV-2026-000117.pdf create mode 100644 public/invoices/invoice-INV-2026-000134.pdf create mode 100644 resources/views/admin/Partials/container_popup_readonly.blade.php create mode 100644 resources/views/admin/container_pdf.blade.php diff --git a/app/Http/Controllers/Admin/AdminInvoiceController.php b/app/Http/Controllers/Admin/AdminInvoiceController.php index ef0820d..b813ae3 100644 --- a/app/Http/Controllers/Admin/AdminInvoiceController.php +++ b/app/Http/Controllers/Admin/AdminInvoiceController.php @@ -8,6 +8,7 @@ use App\Models\InvoiceItem; use App\Models\InvoiceInstallment; use App\Models\InvoiceChargeGroup; use App\Models\InvoiceChargeGroupItem; +use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; @@ -20,9 +21,9 @@ class AdminInvoiceController extends Controller // ------------------------------------------------------------- public function index(Request $request) { + // Container relation सह invoices load करतो $query = Invoice::with(['items', 'customer', 'container']); - - // Search + if ($request->filled('search')) { $search = $request->search; $query->where(function ($q) use ($search) { @@ -30,42 +31,51 @@ class AdminInvoiceController extends Controller ->orWhere('customer_name', 'like', "%{$search}%"); }); } - - // Status filter + if ($request->filled('status') && $request->status !== 'all') { $query->where('status', $request->status); } - - // Date range filter (invoice_date वर) + if ($request->filled('start_date')) { $query->whereDate('invoice_date', '>=', $request->start_date); } - + if ($request->filled('end_date')) { $query->whereDate('invoice_date', '<=', $request->end_date); } - - // Latest first + $invoices = $query->latest()->get(); - + return view('admin.invoice', compact('invoices')); - } + } // ------------------------------------------------------------- - // POPUP VIEW (AJAX) + // POPUP VIEW + CUSTOMER DATA SYNC // ------------------------------------------------------------- public function popup($id) { $invoice = Invoice::with([ 'items', - 'customer', - 'container', - 'chargeGroups.items.item', + 'chargeGroups.items', ])->findOrFail($id); + // demo update असेल तर ठेव/काढ + $invoice->update([ + 'customer_email' => 'test@demo.com', + 'customer_address' => 'TEST ADDRESS', + 'pincode' => '999999', + ]); + $shipment = null; - return view('admin.popup_invoice', compact('invoice', 'shipment')); + // आधीच group मध्ये असलेले item ids + $groupedItemIds = $invoice->chargeGroups + ->flatMap(fn($group) => $group->items->pluck('invoice_item_id')) + ->unique() + ->values() + ->toArray(); + + return view('admin.popup_invoice', compact('invoice', 'shipment', 'groupedItemIds')); } // ------------------------------------------------------------- @@ -134,10 +144,10 @@ class AdminInvoiceController extends Controller $data['igst_percent'] = $taxPercent; } - $gstAmount = ($finalAmount * $taxPercent) / 100; - $data['gst_amount'] = $gstAmount; + $gstAmount = ($finalAmount * $taxPercent) / 100; + $data['gst_amount'] = $gstAmount; $data['final_amount_with_gst'] = $finalAmount + $gstAmount; - $data['gst_percent'] = $taxPercent; + $data['gst_percent'] = $taxPercent; Log::info('📌 Final Calculated Invoice Values', [ 'invoice_id' => $invoice->id, @@ -177,7 +187,7 @@ class AdminInvoiceController extends Controller } // ------------------------------------------------------------- - // 🔹 UPDATE INVOICE ITEMS (price + ttl_amount) + // UPDATE INVOICE ITEMS // ------------------------------------------------------------- public function updateItems(Request $request, Invoice $invoice) { @@ -230,10 +240,16 @@ class AdminInvoiceController extends Controller $gstAmount = $newBaseAmount * $gstPercent / 100; $finalWithGst = $newBaseAmount + $gstAmount; - $invoice->final_amount = $newBaseAmount; - $invoice->gst_amount = $gstAmount; - $invoice->final_amount_with_gst = $finalWithGst; - $invoice->gst_percent = $gstPercent; + $invoice->final_amount = $newBaseAmount; + $invoice->gst_amount = $gstAmount; + $invoice->final_amount_with_gst = $finalWithGst; + $invoice->gst_percent = $gstPercent; + $invoice->save(); + + // ⭐ Total Charges (groups समावेत) पुन्हा कॅलक्युलेट + $chargeGroupsTotal = $invoice->chargeGroups()->sum('total_charge'); + $invoice->charge_groups_total = $chargeGroupsTotal; + $invoice->grand_total_with_charges = $invoice->final_amount_with_gst + $chargeGroupsTotal; $invoice->save(); Log::info('✅ Invoice items updated & totals recalculated', [ @@ -245,13 +261,15 @@ class AdminInvoiceController extends Controller 'cgst_percent' => $invoice->cgst_percent, 'sgst_percent' => $invoice->sgst_percent, 'igst_percent' => $invoice->igst_percent, + 'charge_groups_total' => $invoice->charge_groups_total, + 'grand_total_with_charges' => $invoice->grand_total_with_charges, ]); return back()->with('success', 'Invoice items updated successfully.'); } // ------------------------------------------------------------- - // PDF GENERATION USING mPDF + // PDF GENERATION // ------------------------------------------------------------- public function generateInvoicePDF($invoice) { @@ -302,7 +320,10 @@ class AdminInvoiceController extends Controller $invoice = Invoice::findOrFail($invoice_id); $paidTotal = $invoice->installments()->sum('amount'); - $remaining = $invoice->final_amount_with_gst - $paidTotal; + + // 👇 Total Charges (grand_total_with_charges) वरून remaining + $grandTotal = $invoice->grand_total_with_charges; + $remaining = $grandTotal - $paidTotal; if ($request->amount > $remaining) { return response()->json([ @@ -331,11 +352,12 @@ class AdminInvoiceController extends Controller 'installment' => $installment, 'totalPaid' => $newPaid, 'gstAmount' => $invoice->gst_amount, - 'finalAmountWithGst' => $invoice->final_amount_with_gst, + 'finalAmountWithGst' => $grandTotal, // इथे grand total पाठव 'baseAmount' => $invoice->final_amount, - 'remaining' => max(0, $invoice->final_amount_with_gst - $newPaid), - 'isCompleted' => $newPaid >= $invoice->final_amount_with_gst, + 'remaining' => max(0, $grandTotal - $newPaid), + 'isCompleted' => $newPaid >= $grandTotal, ]); + } // ------------------------------------------------------------- @@ -348,34 +370,32 @@ class AdminInvoiceController extends Controller $installment->delete(); - $paidTotal = $invoice->installments()->sum('amount'); - $remaining = $invoice->final_amount_with_gst - $paidTotal; - - if ($remaining > 0 && $invoice->status === 'paid') { - $invoice->update(['status' => 'pending']); - } - + $paidTotal = $invoice->installments()->sum('amount'); + $grandTotal = $invoice->grand_total_with_charges; + $remaining = $grandTotal - $paidTotal; + return response()->json([ 'status' => 'success', 'message' => 'Installment deleted.', 'totalPaid' => $paidTotal, 'gstAmount' => $invoice->gst_amount, - 'finalAmountWithGst' => $invoice->final_amount_with_gst, + 'finalAmountWithGst' => $grandTotal, // इथेही 'baseAmount' => $invoice->final_amount, 'remaining' => $remaining, 'isZero' => $paidTotal == 0, ]); + } // ------------------------------------------------------------- - // CHARGE GROUP SAVE (NEW) + // CHARGE GROUP SAVE (no AJAX branch) // ------------------------------------------------------------- public function storeChargeGroup(Request $request, $invoiceId) { $invoice = Invoice::with('items')->findOrFail($invoiceId); - + $data = $request->validate([ - 'group_name' => 'nullable|string|max:255', + 'group_name' => 'required|string|max:255', 'basis_type' => 'required|in:ttl_qty,amount,ttl_cbm,ttl_kg', 'basis_value' => 'required|numeric', 'rate' => 'required|numeric|min:0.0001', @@ -383,62 +403,47 @@ class AdminInvoiceController extends Controller 'item_ids' => 'required|array', 'item_ids.*' => 'integer|exists:invoice_items,id', ]); - + + $exists = InvoiceChargeGroup::where('invoice_id', $invoice->id) + ->where('group_name', $data['group_name']) + ->exists(); + + if ($exists) { + return back() + ->withErrors(['group_name' => 'This group name is already used for this invoice.']) + ->withInput(); + } + $group = InvoiceChargeGroup::create([ 'invoice_id' => $invoice->id, - 'group_name' => $data['group_name'] ?? null, + 'group_name' => $data['group_name'], 'basis_type' => $data['basis_type'], 'basis_value' => $data['basis_value'], 'rate' => $data['rate'], 'total_charge' => $data['auto_total'], ]); - + foreach ($data['item_ids'] as $itemId) { InvoiceChargeGroupItem::create([ 'group_id' => $group->id, 'invoice_item_id' => $itemId, ]); } - - if ($request->ajax()) { - // load items with invoice item relation - $group->load(['items.item']); - - // prepare simple array for JS - $itemsPayload = $group->items->map(function ($gi) { - $it = $gi->item; - return [ - 'description' => $it->description, - 'qty' => $it->qty, - 'ttlqty' => $it->ttl_qty, - 'cbm' => $it->cbm, - 'ttlcbm' => $it->ttl_cbm, - 'kg' => $it->kg, - 'ttlkg' => $it->ttl_kg, - 'amount' => $it->ttl_amount, - ]; - }); - - return response()->json([ - 'success' => true, - 'message' => 'Charge group created successfully.', - 'group' => [ - 'id' => $group->id, - 'group_name' => $group->group_name, - 'basis_type' => $group->basis_type, - 'basis_value' => $group->basis_value, - 'rate' => $group->rate, - 'total_charge'=> $group->total_charge, - 'items' => $itemsPayload, - ], - ]); - } - + + // ⭐ Charge groups नुसार Total Charges सेट करा + $chargeGroupsTotal = $invoice->chargeGroups()->sum('total_charge'); + $grandTotal = $invoice->final_amount_with_gst + $chargeGroupsTotal; + + $invoice->update([ + 'charge_groups_total' => $chargeGroupsTotal, + 'grand_total_with_charges' => $grandTotal, + ]); + return redirect() ->back() ->with('success', 'Charge group saved successfully.'); } - + public function download(Invoice $invoice) { if (!$invoice->pdf_path || !Storage::exists($invoice->pdf_path)) { diff --git a/app/Http/Controllers/Admin/AdminOrderController.php b/app/Http/Controllers/Admin/AdminOrderController.php index 9bfaa3d..91acdf2 100644 --- a/app/Http/Controllers/Admin/AdminOrderController.php +++ b/app/Http/Controllers/Admin/AdminOrderController.php @@ -70,11 +70,13 @@ class AdminOrderController extends Controller 'invoices.final_amount_with_gst', 'invoices.status as invoice_status', 'invoices.mark_no', + 'invoices.container_id', // <<< हे नक्की घाल 'containers.container_number', 'containers.container_date', DB::raw('COALESCE(invoices.company_name, mark_list.company_name) as company_name'), DB::raw('COALESCE(invoices.customer_name, mark_list.customer_name) as customer_name') ) + ->when($request->filled('search'), function ($q) use ($request) { $search = trim($request->search); $q->where(function ($qq) use ($search) { diff --git a/app/Http/Controllers/ContainerController.php b/app/Http/Controllers/ContainerController.php index aeb04d0..e1c570e 100644 --- a/app/Http/Controllers/ContainerController.php +++ b/app/Http/Controllers/ContainerController.php @@ -10,6 +10,8 @@ use App\Models\InvoiceItem; use Illuminate\Http\Request; use Maatwebsite\Excel\Facades\Excel; use Carbon\Carbon; +use Barryvdh\DomPDF\Facade\Pdf; +use Illuminate\Support\Facades\Storage; // <-- added for Excel download class ContainerController extends Controller { @@ -241,8 +243,8 @@ class ContainerController extends Controller } // ROWS CLEANING - $dataRows = array_slice($rows, $headerRowIndex + 1); - $cleanedRows = []; + $dataRows = array_slice($rows, $headerRowIndex + 1); + $cleanedRows = []; $unmatchedRowsData = []; foreach ($dataRows as $offset => $row) { @@ -253,7 +255,7 @@ class ContainerController extends Controller $rowText = strtoupper(implode(' ', $trimmedRow)); if ( stripos($rowText, 'TOTAL') !== false || - stripos($rowText, 'TTL') !== false || + stripos($rowText, 'TTL') !== false || stripos($rowText, 'GRAND') !== false ) { continue; @@ -280,10 +282,7 @@ class ContainerController extends Controller ->withInput(); } - /* - * FORMULA CHECK – UPDATED WITH AMOUNT FIX + NUMBER SANITIZER - */ - + // FORMULA CHECK $cleanNumber = function ($value) { if (is_string($value)) { $value = str_replace(',', '', trim($value)); @@ -311,7 +310,6 @@ class ContainerController extends Controller $desc = $essentialColumns['desc_col'] !== null ? (string)($row[$essentialColumns['desc_col']] ?? '') : ''; $mark = $essentialColumns['itemno_col'] !== null ? (string)($row[$essentialColumns['itemno_col']] ?? '') : ''; - // expected $expTtlQty = $qty * $ctn; $expTtlCbm = $cbm * $ctn; $expTtlKg = $kg * $ctn; @@ -350,7 +348,6 @@ class ContainerController extends Controller } if (!empty($rowErrors)) { - // full row data map for excel table $rowData = []; foreach ($header as $colIndex => $headingText) { $value = $row[$colIndex] ?? null; @@ -368,7 +365,7 @@ class ContainerController extends Controller } } - // MARK CHECK: strict - collect ALL marks + unmatched rows + // MARK CHECK $marksFromExcel = []; foreach ($cleanedRows as $item) { $row = $item['row']; @@ -397,7 +394,6 @@ class ContainerController extends Controller $markErrors = []; if (!empty($unmatchedMarks)) { - foreach ($cleanedRows as $item) { $row = $item['row']; $offset = $item['offset']; @@ -523,17 +519,19 @@ class ContainerController extends Controller $snap = $markToSnapshot[$firstMark] ?? null; $invoice = new Invoice(); - $invoice->container_id = $container->id; + $invoice->container_id = $container->id; // $invoice->customer_id = $customerId; - - // इथे Mark No सेट करतो - $invoice->mark_no = $firstMark; + $invoice->mark_no = $firstMark; $invoice->invoice_number = $this->generateInvoiceNumber(); - $invoice->invoice_date = now()->toDateString(); - // NEW (add this): - $invoice->due_date = Carbon::parse($invoice->invoice_date)->addDays(10)->format('Y-m-d'); + // invoice_date = container_date + $invoice->invoice_date = $container->container_date; + + // due_date = container_date + 10 days + $invoice->due_date = Carbon::parse($invoice->invoice_date) + ->addDays(10) + ->format('Y-m-d'); if ($snap) { $invoice->customer_name = $snap['customer_name'] ?? null; @@ -550,8 +548,8 @@ class ContainerController extends Controller $invoice->customer_address = null; $invoice->pincode = null; - $uniqueMarks = array_unique(array_column($rowsForCustomer, 'mark')); - $invoice->notes = 'Auto-created from Container ' . $container->container_number + $uniqueMarks = array_unique(array_column($rowsForCustomer, 'mark')); + $invoice->notes = 'Auto-created from Container ' . $container->container_number . ' for Mark(s): ' . implode(', ', $uniqueMarks); $invoice->pdf_path = null; $invoice->status = 'pending'; @@ -627,40 +625,120 @@ class ContainerController extends Controller ->where('id', $rowId) ->first(); - if (!$row) continue; + if (!$row) { + continue; + } - // original update + // 1) update container_rows.data $data = $row->data ?? []; foreach ($cols as $colHeader => $value) { $data[$colHeader] = $value; } - $row->update([ - 'data' => $data, - ]); + $row->update(['data' => $data]); + + // 2) normalize keys + $normalizedMap = []; + foreach ($data as $key => $value) { + if ($key === null || $key === '') { + continue; + } + + $normKey = strtoupper((string)$key); + $normKey = str_replace([' ', '/', '-', '.'], '', $normKey); + $normalizedMap[$normKey] = $value; + } + + // helper: get first numeric value from given keys + $getFirstNumeric = function (array $map, array $possibleKeys) { + foreach ($possibleKeys as $search) { + $normSearch = strtoupper($search); + $normSearch = str_replace([' ', '/', '-', '.'], '', $normSearch); + + foreach ($map as $nKey => $value) { + if (strpos($nKey, $normSearch) !== false) { + if (is_numeric($value)) { + return (float)$value; + } + if (is_string($value) && is_numeric(trim($value))) { + return (float)trim($value); + } + } + } + } + return 0; + }; + + // 3) read values – QTY vs TTLQTY separately + $ctnKeys = ['CTN', 'CTNS']; + $qtyKeys = ['QTY', 'PCS', 'PIECES']; // per-carton qty + $ttlQtyKeys = ['ITLQTY', 'TOTALQTY', 'TTLQTY']; // total qty + $cbmKeys = ['TOTALCBM', 'TTLCBM', 'ITLCBM', 'CBM']; + $kgKeys = ['TOTALKG', 'TTKG', 'KG', 'WEIGHT']; + $amountKeys = ['AMOUNT', 'TTLAMOUNT', 'TOTALAMOUNT']; + + $ctn = $getFirstNumeric($normalizedMap, $ctnKeys); + + // per carton qty + $qty = $getFirstNumeric($normalizedMap, $qtyKeys); + + // total qty direct from TOTALQTY/TTLQTY/ITLQTY + $ttlQ = $getFirstNumeric($normalizedMap, $ttlQtyKeys); + + // if total column is 0 then compute ctn * qty + if ($ttlQ == 0 && $ctn && $qty) { + $ttlQ = $ctn * $qty; + } + + $cbm = $getFirstNumeric($normalizedMap, ['CBM']); + $ttlC = $getFirstNumeric($normalizedMap, ['TOTALCBM', 'TTLCBM', 'ITLCBM']); + if ($ttlC == 0 && $cbm && $ctn) { + $ttlC = $cbm * $ctn; + } + + $kg = $getFirstNumeric($normalizedMap, ['KG', 'WEIGHT']); + $ttlK = $getFirstNumeric($normalizedMap, ['TOTALKG', 'TTKG']); + if ($ttlK == 0 && $kg && $ctn) { + $ttlK = $kg * $ctn; + } + + $price = $getFirstNumeric($normalizedMap, ['PRICE', 'RATE']); + $amount = $getFirstNumeric($normalizedMap, $amountKeys); + if ($amount == 0 && $price && $ttlQ) { + $amount = $price * $ttlQ; + } + + // 4) get description + $desc = null; + foreach (['DESCRIPTION', 'DESC'] as $dKey) { + $normD = str_replace([' ', '/', '-', '.'], '', strtoupper($dKey)); + foreach ($normalizedMap as $nKey => $v) { + if (strpos($nKey, $normD) !== false) { + $desc = is_string($v) ? trim($v) : $v; + break 2; + } + } + } - // extra: update linked invoice items & invoice totals $rowIndex = $row->row_index; - $ctn = (float) ($data['CTN'] ?? $data['CTNS'] ?? 0); - $qty = (float) ($data['QTY'] ?? 0); - $ttlQ = (float) ($data['TTLQTY'] ?? $data['TOTALQTY'] ?? $data['TTL/QTY'] ?? ($ctn * $qty)); - $price = (float) ($data['PRICE'] ?? 0); - $cbm = (float) ($data['CBM'] ?? 0); - $ttlC = (float) ($data['TOTALCBM'] ?? $data['TTL CBM'] ?? ($cbm * $ctn)); - $kg = (float) ($data['KG'] ?? 0); - $ttlK = (float) ($data['TOTALKG'] ?? $data['TTL KG'] ?? ($kg * $ctn)); - $amount = (float) ($data['AMOUNT'] ?? ($price * $ttlQ)); - $desc = $data['DESCRIPTION'] ?? $data['DESC'] ?? null; - + // 5) find linked invoice_items $items = InvoiceItem::where('container_id', $container->id) ->where('container_row_index', $rowIndex) ->get(); + if ($items->isEmpty() && $desc) { + $items = InvoiceItem::where('container_id', $container->id) + ->whereNull('container_row_index') + ->where('description', $desc) + ->get(); + } + + // 6) update invoice_items + recalc invoice totals foreach ($items as $item) { $item->description = $desc; $item->ctn = $ctn; - $item->qty = $qty; - $item->ttl_qty = $ttlQ; + $item->qty = $qty; // per carton + $item->ttl_qty = $ttlQ; // total $item->price = $price; $item->ttl_amount = $amount; $item->cbm = $cbm; @@ -703,33 +781,39 @@ class ContainerController extends Controller ->with('success', 'Excel rows updated successfully.'); } - // app/Http/Controllers/ContainerController.php -public function updateStatus(Request $request, Container $container) -{ - $request->validate([ - 'status' => 'required|in:pending,in-progress,completed,cancelled', - ]); - - $container->status = $request->status; - $container->save(); - - // जर AJAX असेल तर JSON दे - if ($request->wantsJson() || $request->ajax()) { - return response()->json([ - 'success' => true, - 'status' => $container->status, + public function updateStatus(Request $request, Container $container) + { + $request->validate([ + 'status' => 'required|in:container-ready,export-custom,international-transit,arrived-at-india,import-custom,warehouse,domestic-distribution,out-for-delivery,delivered', ]); + + $container->status = $request->status; + $container->save(); + + if ($request->wantsJson() || $request->ajax()) { + return response()->json([ + 'success' => true, + 'status' => $container->status, + ]); + } + + return back()->with('success', 'Container status updated.'); } - // normal form submit असेल तर redirect - return back()->with('success', 'Container status updated.'); -} - - public function destroy(Container $container) { $container->delete(); - return redirect()->route('containers.index')->with('success', 'Container deleted.'); + + if (request()->wantsJson() || request()->ajax()) { + return response()->json([ + 'success' => true, + 'message' => 'Container deleted', + ]); + } + + return redirect() + ->route('containers.index') + ->with('success', 'Container deleted.'); } private function generateInvoiceNumber(): string @@ -755,4 +839,105 @@ public function updateStatus(Request $request, Container $container) return 'INV-' . $year . '-' . str_pad($nextSeq, 6, '0', STR_PAD_LEFT); } + + public function downloadPdf(Container $container) + { + $container->load('rows'); + + $pdf = Pdf::loadView('admin.container_pdf', [ + 'container' => $container, + ])->setPaper('a4', 'landscape'); + + $fileName = 'container-'.$container->container_number.'.pdf'; + + return $pdf->download($fileName); + } + + public function downloadExcel(Container $container) + { + if (!$container->excel_file) { + abort(404, 'Excel file not found on record.'); + } + + // Stored path like "containers/abc.xlsx" + $path = $container->excel_file; + + if (!Storage::exists($path)) { + abort(404, 'Excel file missing on server.'); + } + + $fileName = 'container-'.$container->container_number.'.xlsx'; + + return Storage::download($path, $fileName); + } + + + public function popupPopup(Container $container) +{ + // existing show सारखाच data वापरू + $container->load('rows'); + + // summary आधीपासून index() मध्ये जसा काढतोस तसाच logic reuse + $rows = $container->rows ?? collect(); + + $totalCtn = 0; + $totalQty = 0; + $totalCbm = 0; + $totalKg = 0; + + $ctnKeys = ['CTN', 'CTNS']; + $qtyKeys = ['ITLQTY', 'TOTALQTY', 'TTLQTY', 'QTY', 'PCS', 'PIECES']; + $cbmKeys = ['TOTALCBM', 'TTLCBM', 'ITLCBM', 'CBM']; + $kgKeys = ['TOTALKG', 'TTKG', 'KG', 'WEIGHT']; + + $getFirstNumeric = function (array $data, array $possibleKeys) { + $normalizedMap = []; + foreach ($data as $key => $value) { + if ($key === null) continue; + $normKey = strtoupper((string)$key); + $normKey = str_replace([' ', ',', '-', '.', "\n", "\r", "\t"], '', $normKey); + $normalizedMap[$normKey] = $value; + } + + foreach ($possibleKeys as $search) { + $normSearch = strtoupper($search); + $normSearch = str_replace([' ', ',', '-', '.', "\n", "\r", "\t"], '', $normSearch); + + foreach ($normalizedMap as $nKey => $value) { + if (strpos($nKey, $normSearch) !== false) { + if (is_numeric($value)) { + return (float)$value; + } + if (is_string($value) && is_numeric(trim($value))) { + return (float)trim($value); + } + } + } + } + return 0; + }; + + foreach ($rows as $row) { + $data = $row->data ?? []; + if (!is_array($data)) continue; + + $totalCtn += $getFirstNumeric($data, $ctnKeys); + $totalQty += $getFirstNumeric($data, $qtyKeys); + $totalCbm += $getFirstNumeric($data, $cbmKeys); + $totalKg += $getFirstNumeric($data, $kgKeys); + } + + $summary = [ + 'total_ctn' => round($totalCtn, 2), + 'total_qty' => round($totalQty, 2), + 'total_cbm' => round($totalCbm, 3), + 'total_kg' => round($totalKg, 2), + ]; + + return view('admin.partials.container_popup_readonly', [ + 'container' => $container, + 'summary' => $summary, + ]); +} + } diff --git a/app/Models/InvoiceItem.php b/app/Models/InvoiceItem.php index d56ee0a..ee1f41e 100644 --- a/app/Models/InvoiceItem.php +++ b/app/Models/InvoiceItem.php @@ -11,6 +11,8 @@ class InvoiceItem extends Model protected $fillable = [ 'invoice_id', + 'container_id', // Container mapping + 'container_row_index', // Container row index 'description', 'ctn', @@ -38,7 +40,6 @@ class InvoiceItem extends Model return $this->belongsTo(Invoice::class); } - public function chargeGroupItems() { return $this->hasMany(InvoiceChargeGroupItem::class, 'invoice_item_id'); @@ -114,4 +115,3 @@ class InvoiceItem extends Model return $basis * $rate; } } - diff --git a/app/Models/User.php b/app/Models/User.php index 48c963c..d8afb94 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -89,10 +89,11 @@ class User extends Authenticatable implements JWTSubject { return []; } -public function invoices() -{ - return $this->hasMany(\App\Models\Invoice::class, 'customer_id', 'id'); -} + public function invoices() + { + return $this->hasMany(\App\Models\Invoice::class, 'customer_id', 'customer_id'); + } + // App\Models\User.php diff --git a/database/migrations/2026_02_07_132057_add_status_to_containers_table.php b/database/migrations/2026_02_07_132057_add_status_to_containers_table.php index 314efcf..5396830 100644 --- a/database/migrations/2026_02_07_132057_add_status_to_containers_table.php +++ b/database/migrations/2026_02_07_132057_add_status_to_containers_table.php @@ -9,7 +9,7 @@ return new class extends Migration public function up(): void { Schema::table('containers', function (Blueprint $table) { - $table->string('status', 20) + $table->string('status', 21) ->default('pending') ->after('container_date'); }); diff --git a/database/migrations/2026_02_28_051812_add_duedate_to_invoices_table.php b/database/migrations/2026_02_28_051812_add_duedate_to_invoices_table.php index 986a450..5504352 100644 --- a/database/migrations/2026_02_28_051812_add_duedate_to_invoices_table.php +++ b/database/migrations/2026_02_28_051812_add_duedate_to_invoices_table.php @@ -6,21 +6,24 @@ use Illuminate\Support\Facades\Schema; return new class extends Migration { - /** - * Run the migrations. - */ - public function up() + public function up(): void { Schema::table('invoices', function (Blueprint $table) { - $table->date('duedate')->nullable()->after('invoicedate'); + // column आधीच आहे का हे check करून, नसेल तरच add करायचा + if (!Schema::hasColumn('invoices', 'due_date')) { + $table->date('due_date') + ->nullable() + ->after('invoice_date'); + } }); } - - public function down() + + public function down(): void { Schema::table('invoices', function (Blueprint $table) { - $table->dropColumn('duedate'); + if (Schema::hasColumn('invoices', 'due_date')) { + $table->dropColumn('due_date'); + } }); } - }; diff --git a/database/migrations/2026_03_01_075242_alter_status_length_on_containers_table.php b/database/migrations/2026_03_01_075242_alter_status_length_on_containers_table.php new file mode 100644 index 0000000..5eaa1a4 --- /dev/null +++ b/database/migrations/2026_03_01_075242_alter_status_length_on_containers_table.php @@ -0,0 +1,26 @@ +string('status', 50)->change(); + }); +} + +public function down(): void +{ + Schema::table('containers', function (Blueprint $table) { + $table->string('status', 20)->change(); + }); +} + +}; diff --git a/public/invoices/invoice-INV-2026-000110.pdf b/public/invoices/invoice-INV-2026-000110.pdf new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..40b47756a385cf8ca6c4fcce8dffe142eab230ed6501099867f6cc50ac5c159e GIT binary patch literal 63053 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%0D$BOET2K(d@Mw3v}nC(e(j!WCRZ=M(0wedCK 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

7o~QK((KRFu3J zdGAKPdS+7m_5OD=$kVjV^cfEyRSWgnw%nGnwmD9KcK2_+6a7Qs*9n|!0V0Sm>K z>>gCP`VcX1JT)VpDZjD6A#h$?%p|~$3VNM9s9TIdaSZiCHX@675-$QFiu9d7e}INi z1k|i_Yd{|*Dy$Q zLUz{w10WIvboDPlBnXu1pTH*n2F!xM2>wC3|2YupkC6X@MuH%*fdBO6U(iV4-&m>t zfJR~lKocwgN(zFnVFz$CY+yD3Hw0jKH~?G_J1fuzV0R!1z}-OFnE^}?Gy9($%=vdT z5`^#%8VLeL0{;C4#QBXzVg-Z$LL+ek00jX5#0Ipp16ZfO&`ALHiJ1f74xopa0nR{z zpp#eu6cPu}A5zZ_Ae11;qu)7zVqyajP!PlgJ2Nm2(1#OJ#|h8@Xd^aO0Qdk%%nV2e z$stnz4UNRc2#m=BV6K=UJb?bd%$Yd>8pt~fKm(wiAc>XpubdN*3sTPpK}`Mb1MvDy z&jwMrfGGnAus`aCXzRDe0Jst)|1B&4 zd4dQEfo-t@g0gb_MGR3lr0#E%_-zJYvdln&)Ug4Y{tbTuOam!H>i}d~3>Z+3 z*6%4n%mV2MXb=ps1O!J0bpF!_lzuk?05f3eLCgdO0A5;u8Hf#{Z1&$BzyM3YP7u3* zflh!7EC7ZJunvS85E#r1fv*A70Ne}A3_-ea03bO?$G=SS$21W0{6m5e0|Wde3#8$9 z1t$QX0JII51PsWo_1jp#7Xx54paTap0EheifEeUoz+-^$|KiX8fR+3kaOVF9kNqD4 zkNpGs^nV#V_Iro?-v*EUwI}~i5M+S!(y;)J!^93OKPD!2R$wXqL6Cvj0MCLT$Nu+V zWK3+V|6?2(;7gscz_enxpEwCONC9e$V{1SE#_Z{WjdIEh~CbzNj;>I?w&4z2L+_>%`{Db1RJRv3!Q^skp}H%!^;sqN!>5ZMDX? zrEb;Zzkp=h{0~QZ5dUT8|Kn<}>H~&T2lCB-|MvN3fBfgi|Kt1J;r!Pf@V{{~cE)cM z@ju~YK2YAMqL20}YEPu!3AXmPLvw=dLxG@(5Jiz4kw!(~;oF$Tq!R+9O|#PNN8vUj zp(!nuK}A571yaz0{R!L0sq1M)L`95W_5%Dz3DAT~Zo4WjCCCxguQsmUd`_I*T$U=` zdemyhX`>j0C=uxdK+z8NpQ5P7eP2=Uvw}Lx1}z)oyx-1!gYC)xwkMp>A2hE(JQI_m z)^;rFnr0J9cZC0H#oyMWXXd&X#dskk?c=y*s7zDAevx@2e5MyFL!oBJkpZ@e`aopr zWye;A#{*7vG24EVc)nD%b(wnKF6Nuq?f^gLRW_jcaVQ$C7c4&riRrgunPst3h4BH5 zYEN7|Z_XN*&1D1deiAo7w(OWXu~ZMY6(4m^idn}qeZ$?$VAy$M65?YZCZ*AtGvIzr5BWe3Lkyym;>hmW!ZH00;=QI8qr-q{xN> z!XnCpP?rJ$YRGGW`69xDIEXxKq$r32E_U$loIVRES)SHxl{sZQ9Gq|jB@~?a7$sP7 z0ZUS>SRO13a*R+qC5%ZSZc>z3Ax}~qv^)`Z&~Sl+InS{tAS0YSf6N@3T1ZTJQlz(- z13k3>`<}HitbnyF))_1vOc}cC{DX-e2%%DN2&hfI69=Prow`~S5Iuu|0DuM_0aSD6 zp;1*2v6@qGfiz(3lFdV&xPni)4B3AWUW{NA6ZIpq$Tmg_4^{07InW3wM-=Z0HG<^` z2M_Er?^@sd;=qY9%G!~3W#*G-#g8D7Z<3EuviHg&#ua(v_!_Wh?H2Wv^F&xG(9DAQ z#ZZV97`@e(YR}IDZx^D$pGRP?_8f__dkywZX8%sgB|R*`R3R3(&33I41P|CUn19tOZ)p9ER;$2ZD#0gbDzU{xV{ z{YvibAe?+ShMN(B2q7xM}U8cxK&R zx(jcWS@9(k5}3e@Zy+;Dt z@`FEhFrEiChE0#aoV;s#?vS)2&X_%kx607z9&i3+C~G@c@D%A3#{g)Qvl|nDrggYo z^N^Tn`Ni2|e}>*DZyCgMwK`z(!@S?YRDA@*d%rF%hrQ z;d?zRg}A9-Z`pwF$(}yv_*|_Y{CywS&>%ib(prPM0dr=HMZW86o{aTIw^v zJ-_)u>M6P6wDO2&2a&L&j;yq2D^XH2-{Agyon$;*7;J07QRO6j{vs%Q0qMbv{tRnI zJ2=b;?>WfWOx%yvff!T=UUSu~Yd>!kVPO#=QEm}&_H?Q9wVP?zPP0Wsve_m1a$Me`9WDs?92@?kd`(l$futC@vTj{2s$oh(3p#K6OvscHU z!(w~8Q*n2{05;L?#@#@1wNwyDAy#A}wvlRornF$&bWcWcVq=j>tylQP9CKM$QoKF8 zHz6w%lbLb-u9eNb(C|@chlR?Qf`7tJve8ze#*lNIeznulcI7ZL;AX`)GORi;)$ckA z0X&)50pkF&&Uh#+yau^`@`Ui$<>}+k%!%W?6u;ptVDst2!*e16g(YB52i{3f^#~ln z5`|s<*Z|TB1)KPp=P;Py-0e#ziXbnQe!C}|BVdc~ix))YdfV7&JrP{KvF{f2b zOHBITbN6^Ko9^d2Yae*!j}$b|`F@^m0oT>d;$lK+3Gp69Yhk|ffF9Pl(!{M~s zA^Jq6-TZvq-haF&j(w6<%&2~V9z(Hbk@1uMDdW{36#j>K?HcQ zg~CF|qV+lFW9SyS?QlZ5?`(G6yF5+oCSHnb>3Mlbrkd0JjwDTo#6xIxFwZg4hF=~ zzNfMAt+HfmrL?A{g1!c|onrFL(cnJF^{|-*CfGj^OKNf1lqFHN3?6$i!*)4ni(uld*|2KREo=lq;1J!(Vn+JTMTrnqYj%VE3J! zU}ueFnRLkxb(RiugTB^@vP48AcoQALr3WB_BZd;=YrRJx+fgCT8`mg_dd>!M`VvCxv%WE zyRANBnXShx?onQSf@d8b2jc#6T8$xldU;OEU3F`vW_JJKrGD;hD4D`?+hn~@G4$N7 ziCd^F*{vUIvx+u}I+`BB>d+e?Iht;}Dqb2gJDj^ZR-mU**YgD0oeVQEP6=h~f#f{= zT)}Kdccq@$mAdzM`qF=M#T8+YY;y4l{z()!vJvq z&4<4ps929={QqzPd}r~Sq4lBU<`tsQOMFYbZhp=Yac>Bj?Y`Mpf5^u>sI5*Hio2y; zFdYsd3|H1+v6)svj4V7cDIO=+bQh^9GNs`QpqFP%^e^*vnL1j__d0i)&IaHHavU8W zQCL|pXh#^?=UOO{%VsGGenG7;Iaqz*naTM+qQx?{Pu`D5;T*@ArYam{o{Yh^eq0()5_I$P(1M?(Mj;S&T8>{{d)6vdhD1 z?)^C|dVe<38i?PAa`n>ZIb!xGoa^^KohPvo3z=O}UvW?jD`+dtdj;(~gYIPx)qA#S$BZMJEHwDj>?@2= ziC1PS9x1{Vqv+Ddl68p-T#GGH?=v&z?-U#)+_y9R+W>cn4Z*Fqq;ByRsiue0pDXQr zhLRr+$R1545iMi*9R}SOhKU$^H8+r>Jr~bBq{L}qr%iVdrX3$Ktf{7Ssx`=RePD9) zo(G3hG`Z`YFPvF{HqKO4`5h;Pf9UZGAC9{7AJpFuanT*LEDOGK8Y~9q_9@-4yhop| z^T?W@PPQ7lL_>PAv9!N{8(@+?u-yY}o(Wz7IoF|W^~k6Pd~Y%9Iuw`rO25gKLWXIo z4mz7db>I_-v9VwcaG|6$WeZ4K_FOPXqkEsamICByG!f349uzr-aqLp z*lc*QSXZTi=wMw^3@gJ z)oIDIW38JYW+yutTeEPFp2LwV@S&Z>$=`wJjg$1DpI?7HZw*Oj!3mJ~kJ?&(q-aJE z%p1P~@TPa)ESp=C-%y{${rnf4I9zz=aae|e5VXu@>V!J83PyHbF`ifYS8}~BU6^`& zi8kcEVj*_&E9^WSyJYWdtj$9xglbc_C0Kr?2w+;HHE5^<&IyCPUEOyH)4u9e`Vixo zdtQ;v{BF?jp++xKdkW=?bv78_P1re_E>0Es_yOh`i>Bfb+ck8frO_Jn?b=&XSFLeW0*w9e(%oN|J*f8Fi;z8@6tfJA=_6 zvW%6lx8sW`<#94YubZ{<-JWw9KvK%U#|O3;@dy)a(agl;Dj#OD`~vsZ9^{W-&ds+C9jl&O@i(W=MIuIxmH zaXSRUm*Yo;${9P)(_irXW_RQb*$sP}T;)#iUxAZ^C@8wI_2 z@9&SRl$eDO{DdRf>^H9caJsE1=kED%Ej4*yB9|y%lC%tV;Lp}lVnQ<02dE7fy@E(% zyIMWA>KT`&;}aZhs)!VnC1)j0#ZmH1_|xqeUJCu(-y z?A%B7to{Nji(lVm;|S<(>vXnNA-f&KjsW8f#6lakFUyeWE!3!zG;A(`?eDwi+32!d ziuGy#Ww)zTk0bv;{nfi&q-#oXml@qemib9- z?HpIPQ<|dY8h(5;u5@YCj`;MtD}k}t1Z}^I;@`09du+jzHC5s@SWsE%OmwdVzkW?F zvsdd|TYp1ax$yY4mc_2;XL}v2Y_r*{bkvjXUITwKMtyZ;V0-5YN^U@rBP$%N&lNSD z=jBZFP_tXw*R`@u(pbYKw-@I$!nqLg?i{-loS^nZ_Y5Cp>=HJxv<;;jMy=dS(=nkZm}EGEk`U^Y&-lsK-I=yI?OQ@UXkj0Bv`HJR4@$@xUlAD+Fy z#&gC;j$W0mX#DgC$h_G+Xx7gts5I5n8t6F5u2if>A3(`p5j~51&s*&- z=w9QGBib-nW$>Gh;Vv19nul=?(i}1({B|Dv;cNG8kEzTj{TkFh!vVrpLX;$cSY-;q zqIww-Gf#Q%M(GdXB4Nz;`=AOdM}q5_X^a{bM=eLa+;={wO9St%=GWM~%Z;BswXJytyZ{iC(EBTl?RAqW7%ja^fb%-=*2%nN zj+MJWfUe=gFZ^Bg_PM=Ejzrt289nitt~$#lY6~)-2H?5T^Jnn;Qw48a67S5627Ius zR&iQG4_?fDc!Q9_cCT0~>A?+xAu1t(vtJ_DZ0I;xGZ=Pju`N&x>lCwhb5GO9m~$To zrNO#tYE=fGp&BV@xj8dzP=5^zYk@^ubR& zuk$A}CsO_LM1i&g>6eL@KCNlh`*#C`EA$~RJPZ2IOBQ3~e0;DK2g`c?wR_0ye615% z?9`3P>idsq)!KNCXE%1pVs&4~{inD9h2_raI>e5*PDE`#iXt3h^rf~+9Qkbd@$H^G zts&4+=8e2iC=(Nbg%k3-XmytB(o&moLADttb-;P$YJyl{! z9~ck_7}RrO^u)y7m~0GIjbkiaR-24=V!w?DG@d30@Yea?&)dUBa@IPpwxL(XD$u;1 zYg=S=g}9-YVbCj=l9gmZ|4X8J-r!LF^WV7 zKXnd3KsV);xTQZTAwPzkgPR(+vyKJ4qx2o(QRL@o0i{vAGQ4PB>h4Ic)8%{-2f9h{fIx{f3TxDE;%?G_Nm7LPLPMOo(lp9g zq|(T{!IdIPi=xJ#Ys5a}I&)wriq45HXzgCkR?h3r;w~88?axKee^2h}XEX>-aW1+4 zxMf{scTae;zb-#_U%jPY9jFRbvQ;r@O<6S6Em1h;{ncxpSh_`j0eSiDJ;X44<=XT1 z?)vO=aCMfut9RKm>6iVr_1*(H3+4nu%svTlkGIfR44^aKUvmTm#WT5 zPw%mXxeSCB6kpF<@y`AcHiY4Kc2xK=T9u4E#C^pwdj3bwathEJR#jC{(+PLgMbv$3 z^75l_wgW^J-t3{qc|?E!3*&RyGQ5y4QMaa696&g5Rqt>3c~8z0!VhzsXwR_NeNdW_1(UBKO=iiY}As*z??19bGI69#OWg-Oxl3Fc(w1wvy+ z^0H(z=PcYMnKE;?E=mw}$@8Bp(lS(m06-f!-s-^VRa!fqaA;t1P zm60^GWRYX0teVukj4#8Ir3u!REa^1arVI93A>~8B2Ztm^lklZOs^xyhPrVWbL z)wNUK5B43FvoQHSQsdFF)Ua;N1|H*D>$FxQnKaC!eK;}DnjzweHq)@B-TmQOj%3G%0ocZI z++j&XUT9;8I(=+&*n8aKR_n+*#}q?|yFO5@Iv5sHU^L8RWPMHWpK5KZg{29|nM?57 zu)Qkqe*`BcJ0)lAs}rtu{U?hsvt_j+h9K{a6RV2GEvucebfR+=rNA)DDF#L}L2CUuwNUM;U#ts_;_t6fi&@=A|+OiQrPiiYFm>6bF*0zq@sL<;VTh2lL zfQDB|_HQ1Cx|YtO9I`Z3ocJr4b)cZjQh+(-%NDlF5`+h|2Ka5ct0$cC1H$}5dX8R0 z1&@NI5Eu8X9cmJ`SS41H(EJcZhHc0qN-;}iNNI|UetBS@rb)%W;YWZZp(U*}yjdVE z1`wA~olSfC_w;Tgv%EPdY8!gSAf*cv)jD<$f36aai5N6A$2yG#>{?(2Lu>NVD&+V6 ze03Xmrzk_3Y7JMXawJI6N@-StCTugo#$M;d;>CX4DfJz|N)R|9YlgJ8qlycyKn(nL zWkvt-FD#%GntWML{0;A%!A(Fw>#PJF(MT41ka zvtPO9vqoMJM-G^E`)a0I z=@N8?A=7Zu&?ac>UT3BaQw!rso&_+ZLd*+SNCqQ^kaW1RdJxm)UzyR0w$4-sVifu; zYHSNockSd?Y*Z@0B2>CF)RQ@#DuUS?Do_&GMOfK!m=hGr^;ba*hd|8PQ>2+w0`w8X zlG)PRP8pmkOp6E&fTIp06^9qYmC5KRIt0dMBxo=*lTs^;_i5TZIE|PT6_t{%i@cxV z;}nNYQKLtxXyt*38K^q+I};L1NKN9@#7vA!MX1X69PbqG?hdke$Vh0|nMu%Ind%dn zVU(Ea7m{}v8MsRY#wJI{DS?W>IK3-EsYzIKi6$hcr0{`rB?g$8n4yQo$1JeGR{c@Z zCX^DA{uXrxM(_7e7V(g^Ffy=H@T1um0j-@!pEvU4C1fN+3jr1EXZ^kLz&as;F3?v5 zb`~20^N^q_*O2fiEI<`V0U>*@erHblfx+pR` zGAptrO z$@^n1)0?zdBrT9O^T!{)4U5)Y?Q{~kVPnW!3&xg}^_HdLaGLV6$r2d|L$)TkSLMwe zC50@Uw)?bfwaTK;biyGi!_(sx=&IWBds+s|1}xU>m}0~f(YiWQx`D&(&oHuCOQjW_ zA&cKYhKy07NMV867Qg*1rp4GY!II83U@zcdq|VWT8lrEn2F|I9GQgs|A)S+f$j~wv8Po+G?nYe`$<(5 zxm%LG^c1QlsBpgmDThPL>+CqfXs7J-_wYyV7AAOJ+M@PnEvC(qtOb94mT%O_1nrHdgeN z86#~`XQJvUGERU=7&eZXG_aG54g_lqBf$la~&Y+pB!rsWAhulBO4}3{5Mj6I`-Z_sI z?NAxOvNr(f4qpiaGG0g-0dYX!^!cDU}}9v`O@ zMUiV{fSJJQMvhsv-zd{t3}>I_+Xs8VK7}SjuTswK&6UU2H;*6ON#(3ae0ycb}WtUpArD(p+!7hP&c5l__ScNO|skt<% zXGaINlYrUEG1-ASIb*4irK56LvAmqGEPQ ziFYahr|1lCrno@lYk8WH-CYv=k0hZ=p{Syq7#=nSeXNL^E5MgZSFVEfJk(j;UD*%d z5M;jfftU!X?cHuw*g|@~iuqr5LPU~LhsfK%BaIYXn1bE}IA^%%WtderkLcpX!Nr+t zl-sIyxuS3D;jOgVcvZ9}bg>4Z8VYR*#gz-QKHR|-I80gbmH(p4R8Cd-IhFHfD77`Q zdp1VhE$zF=AWv<-)_&4L=a^F-Xmlth&Yp|T4dzCRq53h)NP~qV$I6A={HaN*A+j{R zQ!f+IvZ9T7wC^A9D`*hdi~X2+w&7uBS?%SE3s!zI5SCU zX(^vd9~EbbCmu?m{guOu;iWE>E+uEk^zzC!17p2Ko9lNH1N%zAA!BloP4A-aYE)RZ z)={DIa4d`WiaYJV$6h%dd9gFOwWqQ|X7NaiUq3!_n$4PSdNq$|p`6-8^UgT{U)8p4 zj14-{Aeo_&ap&co7K^(doM@^H)0l8Fr4I?4how)Bm_e{J;DxnIdRxO{iuO=lw`X8b zG9tgrcqmRA>6nUIp{9f9@nymjqoXsQj5c-TRkMt@4wKU9ismWIz%g@Q*Ev{SAZfv* zI^Y?gdB0e6XK|8ikI!{?)RAgiA5;T0kv}f0Nogi`u^ib9=;2h#R^6(yNbt-ZMv$s< zDzhx(!`p~CMY~?kEo^I)Xh`cIq^pg^XgtJCDzm3ls7E2CHshzTSz3Zh9ymM7vw8pE z;=ESz9~Qz(9~oiFlMCRYM-UtC#dsSrRBY8rc!tD5IGW=?UxPJ*r`~T>#`U;1ZXFRu z7^u3odt`;)ZUDx}%#0j%z%KWvBjA__U>nE=>q@_tUE2N=ZG21>Y_}{c{u^55q|UFt z#D4@nbHrVNlg|H>yke?td>fTF%cM^Yf14mbrrr;qB52R(UHs-Xys3eePi5-B;aplA zmU$o@7T4sKVOb0EO516V|-Gb~0JAQ=X>K0cH9ZGtV9;=o^G5bSpY$ zF#wJ!ay@=5vHysu`;7|CY>wci$d*fD?Ctc)`rHaOA*4gDm|lYBk0or=N<)oGC0jwaZMg$kzQLX=tVtJSWwG)yWs$YgqGnI0qp5M=@jP}( zb5rSoO@+Ynvf7eI=T^CkTsOCpHLszLy6%Q+c3C}ra=TE*s$GYhyN-4J=*PHN_oF!L z{Oxa1nbyVj`O!)+v8mNSHoH!tv6Tzh3-2zq^2u$RRMm9GmkJj3WxpfV4uhGOnFls` z&Bg%nloVq~p=OuPIfc;{>S8@gMCe#_-nOVIjL^}(J+ zGe(y~!zyuq^u5K-$?)tnooswBHItn2S-EiKQN4(2H#L)N+xWWq>@2a7TbVrQw|mLx_ z+Bbv;^9|wgpC?Hia$$m~i#yt?*iiI6=eoI)wwT|2Ew09UZ>+}O5^!@T*txqdI)mSj zF>Y@Z*Sx_|v?Adxfex`}lBh=_Zqk@fDBv+$ikA$VcWe%9_Wdvl@St6zzjnVQD) zjYGj+ad}2jSda*sJgKcY-nwR2`)JiI>D!3AGu>5DVyV%)m|f|_wt8Whv3+ziE4%p$ z$uq!z`x0vXq&T5B0KSZ+B<4Uq*;$3d5kQ1;6Lz^q3+Ug*s(uJ@;#ekE-`Ufdqjz@& zRs?lBEXnK;av;or*{gcN zutLH0|Cke=#przl%<7UF`kg~Wi0qPp=D_65AWW2T-`61lW<-vSctKlsnSEXsAYSe$ zGV|A8MH-V(qg}M=Bltz(MO#GxSAFjh$T)`yq3e*vMW2>Q%5q~%l#1eGa%%I%xrYff zC;KB@w;*I&N{;CXUmK$I3b%M<7*sFKFl_>3FHZH&ISEcooT-$)PO2&05kzJtw=Q@u zmKJIEXk>cJ@eHS~DzNWdFQnm)vBFZ^4I4*eo#iqqrp}d!t-^6ANr?iS4|R6hDaptv7Rn zu#kgY)hSGMbt7c$(3E2JthXxdX{=;jJ(1IeFsxCk4@$Vm-)~~uuSv2l+-FF#wvp1c zk!uc)pYk_z!dnHck#X5a^Y<$z@xan$m?2|OsITK*6&UlB)Gac`BV!mfrX!oFflA6L zHI^aNNTjR=7pMZg(RQWX{D!Hgjgc@(ZodAJy} zz((83IXbOLwYiW|XfYf#QmlF=EQJ`yLdP=+kCnxHS|~$er6W^9Y`cD-f6&f0^ z1u{xUo**#x3y~=;;aQ)FvO0)`GGP!7Hh!1uS8La<0H**prVuziqLI;i@gGFwOv>Ts zMBtAV2@uK?gy**!l8<)@XT}qpWWt9k5{3MDMPt^`*TdGQOl^QjK{9;xQ3P)FCb*X%T-7 zK*%{7p#iTTFz8ipNk{57-*9_E9^Za53uh;J6Gve?8+$w3 zf0&8B&;3`3#<#2JAAYEBkGzf3w`k~Ffc5Q=H~Od6jP)CC`A6$c-+K9f(cV9gy4cu$ zTjDwX;nMndW&5|?=096TH~fqj9dJi(5E4n9rqemirYAX%Ce!~>;bdkuOCXgXmtacg zq)42UPDme{+$WWIr8$ZFh~JksO(0DllO|6b`@Sa2?y2kIa!pn5YUar`7vrsy;H&Xc zR`U&o zq+>`&t4Y7>9W3wd85uoY#>Q^8B}$Sdl9cS!ub1T4Yn9B`w1kC;izSRHS2*wG_eDkg zIT1L^A9TPJS9aYItNrBZI_{YJX*Fh_Jrd%2uVY?YBfRN(%Q5$cW6OL{pF0wxThluZ z_U4h3H&S`sIAlw(g>dhRX3g)*OeWRJ+>y3;C0 ze3}=ftdVh^qq=&r>Aj^Nayj0og(mn$Nm&qGsD|-(>O=(I&OCH1(GMtDBmJR?X(LJk za-z?oA3s;KMdd{Q6!{jMj}?{@8<%fk-C2Kc?0YZrXy%|Feq@aZ@%4JpS}WYOK1>RK z&`VXOgdGBo>J;<3akdH$H160Q;0Q2|c6i>J4&w2sRmhZv9QV87b8K-+?(APro z2_t6SxD>tjk|QL$IW6Gog*$BlJFs7)3k5r2XviKS*u1K|={&$6@YC$1x8Y{TP2&;= zQ07k$%IQ7YLOdcfDl+tON-b_#2e;w)_qs!*(-{-<-yJ)4=s;J9K_luXY^1hA?O89W zW^xx^D_cWX{qqPZmF3ikBrg2;&IXR#L*!@FS7X2Psx1Co@x)zfm3SPYO-84SIdh!- zWI-wo(bu3ZlAe&An!sygZ3(BteVl;HK2m?Srtp;=qt}eK%CytnvDd6T#@U1t@=t=D zC&ZbRY;j0EYx~oU)7Rm{D{HpYi32yAbZC=x){w5|pU@C^ou*!KUpl&qwCix!Pcutf zYV>0d_(C~&Be>P7aivpd56zielHPo|TUQ84ph11pk@^~WlXkZ%&u+GOe<|eOP=rdV zyFMK>+|?dVGfr*VQ9yid%t?_W#0u-&cA=@GnB|fAFFG8$|wp8hVvv44kaKS=E2Tu>X4?RumWdzZ{2||4-sD6AQ}^=Kn~1 zop)K(ny9&uKUXz9a=N*5S^mWny1lP9yrx&Jd_Ih> zoVI+*iSABJh}SyN)WjLC?5FwO&RKn|{`3;z&Hw*cd{E-GV-xwFGW{a)G>#8{wRGRM z&A=VG%G&WYcpOfqPfeBP`ZSZ|e)ePVHO@GFB42yx_w;ZT340bFBiAn5ecmJF{`s55 z0R$U^R3U5xZkIBRN1O7)*i?KL6?qpmfynrU7Z{QV8ZqybaX)5k@U0sulRdFpYw(v_ zN>qtOqlNjQ5C%&k6cMN>Vv!_oA*4hEWcW`Jd67UwAkx5C|8PWqP@qsC`30^lNClm# zSim7rZ&P^zBv8x}|2I7l-n~s*)tw(8kkmj%$PjiX>x&Qdlq2pY_dtBK_12cdkKdQW z?5GWbT7+o!6I2v650Zp(_7_n-B%&Y?akys+<<%nd$SFg}g|2B90RS2-&kIABGo2EY z5UmJE8FWc8Qw0<5cdA)OP1_$NPerNt3O`V(0!tkzbH&k*+ zc_Iux#lZTjjz237K0L4*Iy(9;u-6ZAYFB!(Bw)d3A})N#N*o$! z^jxM4**>Uma=%V^Q-?6uDT;&MpHcMO8Jj3XXdMs@h^;Xrqv!KrfwossM8N>&^z9(1 zF?Yd7m;Py~8=b6&0YJ)3AW-lWm8}yS^Qakj(kk^Z07Bj8vOBwz(WNLpn?QEp&JR4Ln;)yM;-%{_CHp>`~AfzwIsv!^o=z2;IJWKhu5 zv(_sGiESK9p42x=dE!WOT`i)JEs-*NU{W3hZ2jhQvj%m(4o(TDEuN=LJHIz23c1f+ zalXJBZoKfO&(g0$y|2u##~vO-r;8;h#4)0zpOAC-C_n<>kw3r%OpIZnr zXAzTL=(^z|*8oWc!SYl{fZdRdOexV$>yh2#A`Im%h9Af;VpuZ=rFr2nYL2R6E5EoT z%_L3u&4n8?3_CJuT+z(}&DfvM>nILdwq72?4k<9zSWIPXE~mhsp(pHE+I7;G+R zc?;=;M1h(F$^ziPensydqY&lK+)V`VzET($PZdB`AOfL6M~Mb|CIj&886xe+BqGz2 zCLC#>sxi8fCicDeqK_PvAR|Y>#G3R#B_S~pMbV)8Z+t3*y5d+?3Z3q^9j)#xhpq?J z;yhn_JGviow?4{i*0&J`HEWs=6aDTXDCF?snB~F}1Qca}i%Vt+>*qp3YQ~uhmBln$ zz+oEI@XZB=<0^h*>sX^tlL^@0%TcrI@g+?BMlq_H^AfC|=)8R5&Y6%V_77H6jzWP9 z7Qpfk{Vf43lm`T`j-70N6TLS_DS@jmm@%uCZ2lNs{_;A)X)j#)9L)WCSur|>c>iF) z?|7k`VA%AQj32~ADMdmC&ya!+vBEe-r+l?6uBSY5Sh;)yRse{~RUwJzpaQGU`rq|9 zS(H~SOt^kh;}@;5Vep{8az!8E1P2#LA8083EdL7@tO!P=ZID@LauyzL%4T79@wh63 z%r?RZgf$W?D{J>CXGG4v@!8EH9E)_Mq`H-qx2Jq_%Rgm>_$BY*@0sXuh0 zeMDeD$;dZduMHrCUD}2@7vTA_fcnL{_9Tk%tUIL`%2VFu+$hj0F|7 z`h^LpfS29q7;=|Ij|Duofu^y|YN&SaBm?pLLtDI-*4Tt_XidDGp4?x(W5|aR%_JE{ z2n~n@^{s7EzN-O91*if95_0&bKB|RI*Gw4&u8S8|LOr$uQ20jKoUXUZir)}xgjdd1 z6Lk7d-n&f#NqyA9AEDDt!w)-}SEze2I@gf?_4pukX6nMa(1}&`2qN>ObnW@sGe9|tWxA7%_VZmYn4UvkwQyVzGH!g@J1zspM$jv(__ z2UREmNH9o0UmU|jh4LgxQwP5VGKzB+iX2LW3Kzi0#E1dlB7`xieoQQsw6VUd*a72- z$oa4)(Z1SPRgSnQ!Nj77(1h~&m=kZPpdkkumO3gwi4MSHt5Oz%mk!iJi%U#Zua0+h51NVP3Y)C?qin z;DGj@<_chpq5cQ5f?%XYe2}7)X#kldgIZ}Oun4rbe8@6M2|-ap(=p z;_jjXNykkq(9B?g(B6bp+<1K^kYnWPQ7HM~5gszyRJEd%^&{WsDt5o;oe_jlFovHH zP3!EkY!#Njh^rMZ`c|K1za#iY_fPb<)HsHFwcfv;c)8I4UYa(3wl_ z^OB;$%24%=d`7q+YU7>mT_!xLMTkw4(RKF9$=p`+7l4r^NVUt{-(5L!OxS=x#$~k! z4CT=1;laR&fp~PbEbfe!1!08u4!f?s5Ls7wt}?+tvWFP&v51O47H%{EL*dw8p)}qz z$N^RFl)!=v`GUQG$b=;fpibi)3B(RtU5(4awt@rdp&Ug-0e=Dcs0|ekW)1+w!FxZD zN|_|^Z{J}qM^U^PO2Rw^wNBkeIb{|J*`Zn|dq^m1A^*JjNR8w9K>hn)`FY&Xl8eW= zNK3Z37~H*>eF%A>U}%~Y5D%tQWNTcqt)Zf*b7F`G2FY#64CuiCY_H`HeL+GkP!S2E zx-S(}RIo5x_AJTw@#N>uLZZtiCYs;l`Kmiq6-D-q%Ah z-lSlYD$@jKZYoOa5kPw^L6XQzWKNPWq*qiMxWC{}%+PrW4YXC2FIjM%I?RqHvxo_5 z`k8mgxP|Cl*|{f)C}EgYYrB<>G^R}{GMjqPgfR;PE2xIi12mPa{*G`Lhf!$;554`6 zysf;`9R4_R-(3Me)qzip0&2=He=uj%8O-#2%AKXOC`~#hp)xTWZMsH|-h&B^9ZAU_ zX%KcnW-ao2G}Kw{XqwyM&_bq2_ct1#uz5*K5N|3nJT{j zeP{~mClChm2~(5|w@L8a9K&@#7h`C5L*xZnR%L~S%P(Q8D3nZw+WhumDShjGRr{*X`XHg|%NZ%86;p(7NH#LQG$Zwq)HLeC*+#5XOCKau zp~POzN2!Au2})Ro!B897{yzX>K%KuM1L6fjF6NvNpcljyaEcf7eMFk2F4lq>Xt>l% z`sieiz-qxcG>Y~BB%lEm4bheTS<;9K{!|`hHLXY7LdIKKLwXYhLw;BHOF8S@n{Q#x<-wo={WGbI8L!H^jN2Qpxd3{C`E_E%8j^y6>6^-cKveHZ!Q zE`|=OwT8tYB4#fIhpduQ3i7kUcS2UaO0`~CvzA1-t8-#av#kSGd*0uBQ^g(#jn&JG zCsWR`W~Z;*9*gQ`6uYiSWdH^LfVdPnFpd@@7J<=q6vpmdT-*y3p;?%@t-O@vNRAXp zu`7*bH-aZ2yWA^PF|8o7mAxfOwQ&w9@RI9VM=M2>8+9d*$~**Qv@Cadbo8i3zpKEi zqmWXpO$#OJWEFqash%xHc(9C8FVnHO^jXG~VM@V12urh#g`}9ymSP=ja^ytsqMGuu zo5V2LIeSIk`PIALj!Q=e)mn??j);)F@K;w<0n>`YTXk<%>s40ksj}kk+O4mEpxSH@ zQV1E>%BXFMp;bkwjjOg~YlkQ$WEE&+!6C6)G}Q?d08votvV05N43?@P?n?BLIf2Nd zb$W3#p{cA{fmFm2#u5oFnOr`)qXi-{<(^5p zdkto-(aKI+c}Lv)6?vX@SKei1vslI80ayr0sTPj7)<PR3*ALoS+5X)6dPS)%z+3k zT5`O!S7g01Jl1lNif_w(OwPV3q#&THE0!74LDL&6`bK~D+!GI7s=*wTwIX^UYtiltkyqPcE#6wdD@S8c)!YXJ zREZz~v4VZqg}*}TCD^1k4-sIN$U$kK0_0-PsB+g$03b>_ng(!8%{;q0tw}xIg}du! zRG8LI7CTEbYbTTK#nxmt^%!z+(qLx?^9BJV5rMdeh#Hil#q1F>3PQh6q7a%L#hxij z2D$o$k|R@9R7BNdi0}YNsERbH?|V2Wts%stt|&@b=mpqQioj5N8(B68a_D1XBz> z8ZD}oSL68`>``yui89!<*{Rr z+#mqf92L2f9msJIrvZxs-T4lSc&uVY0dP1-i3=xK132RQBou& zo3;po1WCdH5)u%Hg=$ZwsA`iY(>Aq$=7JMK_gWeXw#3xH9uvj(Igfx?+YJnotSMC* zkN_N{Z0{`6Y?f8G`hGH-=G-^NX%g?H1r!Fz;Nfr>sKH(54HU3KeEVKEH6E%?iGp@! z%e@Ul>Y@pE&qG8%NM=%pE*NJclulr zX2X%xr^g=o)pvaR{+{9s(LuGAcz)?GtO5(Du-q=EsS10Fs;G)cCyXIa#f%bCIILv* zh%vQjBA^U1JO+VJikD*Wy-9@CipppcBqKYHY)reJq0_*i$cb(&F&2OtqJ(Ly0}RO+ z9fI(PjEO;grqVL^YQB`-jbaX9rUl0=u1!+FAR?H|CWCk0aWX--gLV#S;8D=m8i8Ad-qo|z;H0ud`gF5%)ih@$Z5%_82AH59kWA0@kpOdRw9%C4S!B3; zIiJEL(kRgyl8NVjrpSx!DUkwC-*fNe$Nz{ZBk~_VLFXC<#+!V&P!F zeBF`bUw!1O2OrFVeXX=dUC4P}!;Aci0y0E$j1n6i0FVVcd| zbEDL(lBdj*uAeq(Cud;9bFu3Y8Nh%h^w1q?wi5=VXj7{cxG_rJFaZ~H(MW00EoZZd zh3zahPaT{2xdlvwI>@k$#qp~RiouWt4ruWrimRhlaS365e$K~B5EUgyxyjWR9jru| zzyU{EEc%eXZzXAv!hr}RpEgT@oAoe~ji&INC?#$Vpk~HU8nRJ}%g`-np%V)ZXj)`~ zgqPxhf_fBagrGx{E=3oj9aK|05%YdXZR?tQi_j=>>NY0;3t&pI#o}md${}h#mb7hJ zTI(m9tsG6$C{;uTbkk;n%f?!OdWJz7@27wQ8;$fkJUYepx$aAM|D`*>_~_#~ylI*z zm!CT_oiq*+%h@TIAHnt}TJNuF=l|jy4!AFOpbMCF{T|Uk=!g)(F_c4gXpJ`{i(;c{{FsxXJ^a>1|(Lgp8^qKPvkVo z)0v#O>a}mUY1z(VIvMf;h!jyQ$q;0fESgm(^p-J?VY#YZjOGs-+n+#mnky}EsFmYSWNt&LXc(Jhb~ zxDc`%rz)_lEBb_CHpA6dU3=48wwpD?WpWQMx8fZ3G;E=Ig6l*;{c`upv9uSqL$;4Lp(c{N% zd+&Sk=5IkWslk;(ZlFRNAdot+N58Z4sZZUz_3K;re>Fv4z4o%CR~AkH)Ak&AF7W=J z`Pp>KZ8&lq^Em)85K;1^Ab=?pF0f?SJcHKo_+uacU;bx2cXoolC&Qq}aot_7#%&Fb zor7(m31kHg-c&$Y9Fie{eZ?U(!#aebJBBc52Xiz5B*YZY9DVZ3_dfM3a$lnkOUTh1 z-u$*7eZRf+7BmTB4p^FDaFnce6v!NPD)R8v-}{}rKm6;2PSW6gH!DL@QUU@Q z+D|v$_U`}W+8_TBOy{sUvLlrMGB2mr0z9x>;(`0_fBcc1=blb|H%%Biv<6{_(~Qc< z!_X=s`=psHyM8ijllo#4vnkSCPgv6E|IO_;|Es_I;>#Y$L0K#Dg2jk?u)(NCd^u9h zdU`MFjpeq%EpNq}??8JLC3IQHQw_?rK-98|wArsLsc!NkNX%dY69P_5nh#svYWeI6RX4`h$ zUUxHYc{^G|YE2YuK)_4Ws4>Z}%w8Vec;fgoXP$fP?oTjcIMX%6w3UVL)=n#6Ui-QP zkfZHo&XZT;j(1?bkR9b9qc@i)HZnZG&PA|{$3U07NSnbXvTYvlR79hUuU)(C88 zhh5h-tsOC9z#trk?JKl-?5VQ{8OnhT!b%EcjGF$1nN7H!t>ex{8#7yWoiu5ZW(yA> zp_!v?$DaVK#SaWb!hmEZP3RWVg49Wae*KbBByos3WV4U%ij&{@&wd8SufTNfY0|;k zl&t0g){E5ST|ja|3w-g5ANs(*Pm7%+(;2$OR1ze20Z0ezz|OJ(rpQi>Y?@^iDJya1 zG2C=9$E?UI4op)A?VufO$i@&DvrLYcyElc17)->n3MNz71e%aqN)nE<1gz4+i3q^b zfa~6P*MIR}|Nc{_pFZ>4YmOc7w>BGxl^7vvDp^S>u0dxNv~8y?Y!aavQ=29mZ30+L zURFR7paSSNWk61iiYPt8b!eN#{0MHp1Cv>{HlYR7B@;+U=i7s8VX;;2*!iEXzoTpa zTz!8}YE#0M*Ia$;?azGXZ(EDpook!a=d5N9O|AOS_uf0eevruXqmzISU2dD%qFYES zje=We<`+QdE>%S@w-gj!)PSOv^q@c#b9oEBW0EU`t=Y~j(6fCF+gtD8= zals>~mXDZEARW>cbRa}MnWx?Y$qkT<5DY0CnHX9b!gr7i%@j!B7#`MDUV2HtR0SXn z(ox)S%MbpK|N6S`|DGo;`f1~Yg)y@cRS~*VNJTDTW$iq6Qc4I@n;X>DpQM0Ax0TdN z1)6Cu5-F>Ba&U>%wlUjy^*g==S6>6PNv6mOhcQ`6+@{?_k$ckY($u$)b_^PFHQ)Ev^YrI27FeUeBzoB zs}thi-ui}@%@_w|tr@B_ye2jF2&GlJz{MGb|peh==m$4LoK_$hQumc93dTi%YpZwhK z|NhY!V$pSdXN|gsmoTmdESF_b;fg3-rb}XEtxLjMO5O#JMrg@fm%g4?XjGxP>;@}J za(ZZlP-IXNs_Px6InEgO%(M~;Go%@AeDinxi(h!%yT9uRHBL8juuV-w}y-J|g zt&D84?!W7*uev%^wtEi+CB~VTF;!(Z6>~SMb6l~@ zK29E+bdNoTmrIw*Abcf>A!5P^2cT%EZq1|1{H}lcW4Qe`%;!LuQ<6bbNyAa6iS3r* zOGe(p(+~dT2S0FPYg>k4GH-@FAW08jwCGaFGAu}mNu(9fEhVpqT9P8AcC(i?Q|2X( zq1eVKgF#5?*IQ4W0vJlGXaxb^Pl6&=jNlnM!L4_`{U?9=iASG&_KSaiA|)adkre@2 zHYL%(OF|}g;|kBG(KcKq@0w{6VRnc*nzUfVw7vB^z6~jWfl!zd43r`%Dgrv$wFA{h z**l84wbA?Nq$}$5%UW$b;Q{z6#a_&i-~kLcb@a*`Z#ezbLrE|<3=>}z&y?@dLABOUT9{oNPIx(JytD>{ij+Xgl8s(_{p)|`=df`E zmY|`k2#A=2b>oI2@k+03@9_BjU-;esaQdFlp7cCx+U?~qX(x+?mjJE{LbWvf4^dES zOe(aLX+VnYx@wbnk;gT8y!%FIX($q+r6_ARF@L{}%nJ6P;Xs;Czw>*(=U@KfsXOo7 z+L&((rO`C80J;b?O|mxU(7oja#QI`KjcTuJkg`IT+P#cQV7`~>dtgu$iQ(HZK)Vvx5)DeKTZ@TN9XWIr-?E_hB`eiNZ z3o*v3q&jNmaZMH{u(?EQdX(~ko8G#=DPP^s%lp|k6sZWL=FtVD>$uSNJO0Hl;B_}( zemsakKv{v`6$MbjyUf@*yZr1YKK&m)_!@ILcTR>Zkeu@*iFu=5EWlK~cvQ~}=ph}X zhh(h?VIG?bT+}N>a)}zRRpw1cKt&cATo6fNqD11x#_Mmt1Cygp z9TiOBng(cq1Za$Uv8d|WWTf;~*}ZB2VNk2)?^e z_xGM_XPq>)RI>(YYSyTX1%Z2JY;1MdOwcw>v*_meeDCif=@PKkE2y%Rz*yj1{Q1t& z&F05%y7{{I{xBvpSOc-@{t(!W=gO{x%pD%Q|K8vG-O01hO?|O36At~+jg4XO#@ZCp z1d;=^5}2mAt3z`wL_uA?B~(ixHE?l92*H{)S#GG@O08(At#`)!62`^nd8}ygfl{y< zK^C+d&3nH0&VTk(lQ-SG-OSJKH~?!j$KdX5Y6~1QUT9^Sp2uCf3$e;reyWIwF2ZLU zuY2pA&`=XAun@y^cxWsXVsJl=NIiWWU zhQZLQ=8JE;0iYOEP2(ac$yQ1@lXtw$XA`n4-?i2@d*~&VBrZn*_aCKDh5Nh2jf1IEe*BFUC9VK;pgIUF?W=aba8bw6SD=i2FIKEW0OEpd z=ncJMFwLs*B3t9V7zH#V)C9u-0F%jr3CFH@{g40jb>H#b?e%Y1G}9bRfT$0-TV-Ru z1j+6Q0S{NW$smwq(WEPtOcobb)gYZ;YyX! z!2uXRFOkf8LJx2-F4PBjF+BCoZ~L}(GVd0BS?W5f!qSChRn#|Xty0wn0UANx8IGMe z3g-Xqo$uV&oEN$@iB1twDtJJyCZhg>SlK(PV&saE?JFnfMX2lh*|ZtF6Ga!AkDk2i zpZ^SwOkr9A&jquXqy~hvR@OzIIco%1;*tCA`Hc_TqmQ=0A`=EudhcOsup#nfhEC86 zz(6xcoDp}ERa3XMYW|TeF21g$n0-VB4WLF*tPTRvBIY|iXy_c%GzqZ`Z7+Dzy(9<& zfQ<3p8*7M0j>?Vi`%xRZ&;Q1U}`u_kXqNEZ6-?1GJ*(zUX2yD zHDQf}W^fSnCJBBFeTMeafAlQ_23o~1YDPi1z}o7Qs_udU7TzAvm~_KZEXiWA&shg9 z0r+kvqOX)e7(g?hE*3j!iViZg8@GMm_v6-Ey`36%O*pIQQ~-!j6(kkJfTte&@<;yQ zxi8!^-Pwd7i`7UgG7y9caPAy%1XoOfts{6YVWVk1V_Ogd0I(S~e?dh8l17m5!r;4M z)oZaS<_{1xtfX_CJ$XgCFAU4T;DafV_QzQQq?%h_P_&9}2cT&x*S-D?Klonl{cFGd zo7<0kZPH{CI!Trqm_Y!>;NF@xO|x2vT5opTGu2EqnM z$_xNZL<0aEATFw;2yHu*S6y}GEpJ6T16KYUqJ*ji@%LlnSVn6A z5Y-u|23P=4Rb(_8*g400KJ%6T`1|>ZM~;D6EojMA7|K#U4A4$Ywa>%3hwh6YGPQ$vf?zPj5wVF+bJK55&OD8Ci#EZ_ z9-Org0%{*95TJ{WMQB)yZ`9P#p?Nv()Sax?Zp4WinrD@k!(SmLli5H-X zlnSjGZg}(S-}k=FZu9<+{O-ADpKdg{XsDrf77^LC=Zu+sGK$-$=f)ZriE@;H;suLTqz*CPu z_$Pn-(8oT0V$rKI7jua)=E5FjqFsF{fFZRTo)?K>9i&48fs%qe_Ef}ZLhSnD7hw|0 zsI?LSqHzEazydzNdngbYDBCrtm^J&F9oA|#MXksRmVy!qi3AatfK%Ld$88oweC~IC z`?xz(O3h^NdK$Hr)ZwrG2GC}2`bYzS+_sI1w-Xs+0YG&yjvb5BKp+cPV^xvho9H_( z5Is^L)%`=u`EA4}q-3{cg=0oJnKUL%#8wIV~~zb32T1;o!9W$*?gshyY3> z(QqhMfPnyQ1I*=)Z@Fc2`}9-KJ^hKl=(e{zU)y!DHX>cQDl34mxLrNznyi^5@0^jl zMMy%6T(m(Jl!kDncSsBng90X)sBARNL{nj)`iP_ii+7RzF`Pw2MDC(r`eI9!AT)Pi zjm(gV zz(O)vp1x2h8lpwEInfvxscBn@1+tUU4+C4cqBn$;y3Mh}&hvW0y)*?7P#-k_ib*Nj zX!7JaX9@;)HbQH4GTCojs{m_OP&La$5UoQEVCOP36wA;yn%lnh9Y5KBb?EQ=@|T9v z@ia`SANtl!=F>3@6jkd`xdme^CN$0q$O*Ej^Ed)xN zAo>`ahefUJ1ToDpqBAY6ohf)_SZk0$k3RJAj~zdEwiR?8XGhxYMQ^t1OU3n!sIuu$ z-!H8}M4yNz&4d`(W0ZEXCelZ~(owFzhQY)ru1TY89N|OX%N~eu z6liPHqpNi}rp1jDyE`x`uv_IT37CS4Q`a2($KU-exqtSzezTh$feIqDfa80(st$gH z3UihSl`xScXe^dP=db_~bPW+WNkjsGJY*wHO;s5%mJZhnY5-Q}Q>$O7r42`T89?M- zNGswJ3^=ot3X!_yi-t#rBuT1FsykiZOtkOAbkFQ?oV77wa*RF$1&X59T`BQ3 zXhtUq?m(uvH8v3pp-}-0VNHY@@yLsL31Fn7^x70Ld5|HvvY2965>i{LmX`C%*i|ldu*d z%r0iTPTcC^Cnd6$ z{7zSeQ`MSTw?7xR(80m?OX_3^pD%|25-=TmM-^Pw44Sr)j=km9+rIw?apl#kn!U)K zwi6ixi6Q_ULyt7U-^^O0KC)(+5dcM{fLoRd_LLvfSAS=Ki`Z5K}Km;02r_=d@y+?0KA9`7_Pw|%|KpTf! za|^0{PH_9&)-%r>KY0?zk3*G|geIa!`2th~0f7}ZRfQZoe%-tN@y4^y7MoE`0ED}y z7edKKIj@uwv5>k=480^eL|N~(zjp=JOKFYiG&yRkr44=U6^I5~!sWGA>-aG0zj4f4b%gdz#v>)T4b~RFWAq?7PnE+9JEmp^OlnE8O1ux=QvYX1@ zh9*G4+yPglIr0L-&ax4S+(RO@unVOi?K*lQU~uc)-~8(T^WE?LPodZ0_!X)XA7BaL zjzk5@9*(=f1_2M7&##)#ORqWREGDmDj_5Z6@x}MJdI>rxYfUcgqzfSMS{)D5)w^S2 z)L5Oh2MJUNMfW$i6^`m6$w;Q$?H4R<<9*d|KqDRpSu0$ejeIjcHB~%2T!f7MX1yP z#j3@XtQ|oS&p9t4- zN-Ek)Z)u?Hs2vJ6N_fT-kKOl?KRErFPaWIZnmEa!ZVXlYdM$natM1X&zFx|Oba@87 z3b*~_jkt|Cx(!i~KnDqwvPjplWm?othxdEGnn6W0AR$XofulHc@+<%L?;iTZGWTw- zEv1=nylC!hHMj&2l4IUW99^FM^oKuqbT+@?hkgvV-T_N6b-<$H@@vJL4gh9giIply zHB&2FVtn%|E`K?kb?|HqdpYSWSw|$AMJ`y2A!~wArC$4?lJ6`k7cOuP;mzDb= z6?eDp@sY7Ad|Gs;Kk?TO{MFsFb7!W^O3y@CEeLM};hL*cTN9mDbznWwWh@8a%8ctB z^E2>FWU+!H+Q?d{l|y6Wmx~D*uOgKIlq$Ia2x`m3(QRj*1LNBS^Z$0dr^+I2Fka_sxQola_Zpcj>)FUMH= z{}*vT<)#R}L*aRS|;Mi=` z<9JHlbI*PLw?3>#XRrO~pM_r2%ujMei=@ah0ihvcP!T05BJFfiP!UUsyBGPUqy29| z101|wYicj=x-UsA(Ru7yMp1&RLI6pRzvk7)UjKTSAqfTqSp9)OD!Wrd8?>egZs_8v z$DV3a0+?gSKsIE-5CG7M*{VrX(H?8_65W_NZU8!$2w_O=^Io=lExnzxWw)~97BBjU zVuqI1P9@{s4cWknLwhQwQ-~rWQ#r)&60==vc-H?N;=Q+yQ*DZ;9{-CE{=4Dsk6~w1 z`W?X-|Ejo(4zLXEg8)e8oLA?HmnF9U!4O|^)6*BDgR)k)slcVFyt)AC+J#n^BcaIR zgha`Yk!q9yP#8)9?`y7q*Y|#3bH$ZAYHXU)uq&mciU>r+xDjOlyNLj`*xSS%ngC`< z6#ZmUw`N^UA0<|MBS0?ps6+}Rhh)}1Vg+CnbRdjwSOi=VNr!}Nd>**Gcam!RwsFQN z6P*lw^vLt6*yE4=(f|2>JoXzO!eSE~hEvwSb3bC`z@p2_{H6I|OJZ zV7%u0zVFBz-pG?zET~P}Cb8US15`0YP|MyZbx%YWMD156sBxMaRMAx-IxApO0-+Ve zEX0dGVvN`TtG#8{cxSC%e_zEaYs9Rx*~Ym(=NPU(addd_{=fOq2cP_%U&r>dQ!MNG zN29(y@Ot zQ7IjdYXXq~3Fd$%$k7?vSKs-*ANlx`Pi#MXW-c%%vnMN!L4kz6IC6xIz0-GT>{S9! z;@U94vCFGMSW{O^1vr30wSB3oOJefHB2{`sFGmWEDIvfY5DAmii^$uxjPAge0RY)z@88_iA+3vB*ww1ACULDPD8gBjP2p~vNVxzLVm{&cYVmEjo z07{#U^B+y^UbNr62vqt!Oxu}B+T6;=rgH5hZGHZpdp`7QJAd{u^gA#wZRBR@1rsh_ zlD;`?M1MtCYvR#iHwVU3C5Pl>aZRBDn9X zpZ(PjE6?IF9+MoDwT?B<9PkW#sK&Kw)61F> zwEAzA`4PG0Fx%NY_odI@|0f?qmz73>21fxgG5`iNU_c}0P*}1%?tImqx8v0D9mqg< zu3cPBYu8C5SBrPI)8z_D!>*jBGBmP=3kZRzaQ{0Qm%Bl2BvjHdO3IcI#po;<@u9`@ z+~@O>$aK*Vh9V|S14k?|hqPy&efIA@`!^r{m7S0O5%Lzy5sa77&GMT-adF=Q4LCS! zZ9jQw9bY0SL|PS@)_pCQ8KsOAC`kw24%_<7Gf&+8Dg5o15GDc#dT~d%I3+|OIm|JK zO3r8|*w}c}cYNFNo8E+tjb%VglNub2pbfN+#>a%fa-G`5xD2L%3Jjr}yE3Qn)VnRA zOQ3_)+}Txc{tLcBN~;|JUBP#!8l5<$Y_dy-(GBbm}ze?)``6cZFs>@aZdL8JoY(z@3q(Z*0)OP zXYFVed^-Zo}BlOZ%P76nPHNf z_BY0(ERT)0h=L{5Das~O0nDkgJA>Fm(vDm0R2ntqZy;<;1fo{TjY59j4b}mGDQc!g zhIw3&9a;_f;uQVxCo6AKO78CJ435#NvKe8sld^x14i29C5ulfhkj-!iL%7fByXE?tJZ|kKm1O>hct(&Z1~Eq=Z;~2^w*Bf~{BH`&a+^-q*hV z#B)zw*xla&Hn!3CO)J>|Cy+4!;|e$%l0yU-2*d4|3D6^lE=FZmIKu=wfo=dm+6Ujb z01#7?dsm=>3&5yTSOO|$Tgf3A!#*}Mm6_ADqoZt2y81j*y-pHIb*d1AdXyo-VA*_o z?sj4J)c^h1XQ{jY_S^Bg*C0)dx{A&m6GV@%G0+K+oSXlYK;Rqqg}#h&_2+XTKOg!O zC)n@JcCFo%&W@5%>E@5F&~&uBui>%(P-h{=*w4HW1B~q`u zc>I%Jn>>MGGA|BFZ47UZmPa!A1b|BKe4|w%eLPI^rfyD-RFRbcKjVA5UxObY0ZeYK zz}_LOHq4<;H(qZ9>(bJabY%xnt54xmh#t%~AYc9HN7LDj`~Jb-!>j%hcLdMOt+pgF z3M!+s!}nxdf_@A1u3LiBFbEGl_e;v3AO6p+fD_a(yKv#LkAL(nKl&qh%l*g#Sa`CR zVcZrNjUOqtHt&AN58VCmr=EZ6S-W&WU2V+&4mL-KG>Nf zD9wN9fcJ|T`bN9fBA3}=+>$ACg}58z%w*Rd!$uDXIDw(e!>X{`^+71im05^5)~wXp ztpJ&kr##H(X-LC2p8VWH5AE#iyykEG1itHa9eSiGLh-4&YOxG?jWPXi0~ZDW@QJ#~ z&33KxUH7UOQoYrdVwjPP$$G?Q{%!Br9fj90(* z_3!+l;fr6Ieev_D>($kWcytLmDL~{29wc_2F!r8?0TTunKpQ<@C5q9+&m!>~JTm!i zWJ^sO1Bkj>4zH}Ro=_RnlA*3#%|b@69@l-~V{z9e{4we*P>0zZlkA)=quiY*&p-Rj zpM3CxNclDI`@6W~J5d!PU=Sf8`BDUmPfQK@CI!7DaV_A`*tPJj9k;~VNnyg2hIu;w z^w&QAk@~sMq7HRF3mu%%AF}+iEi~!3&fflx_k8ycJXp`%QJtB@2}&)H6~Z^{L_u)% z0R%U6Kms~PHe^o;94bUnOf3P~qlOgU;Hv{qfDK1S$ONItO;5y}IuwUzshJ1H;8243 zA@bLafLZ~RWzZn(T^3ZrzE(yW`2B5-S5_p1p zzUx)*d~o`j*YBCQODHQf%W@)q3v$SkRAH6m*{fS6E2I@xU0kovm`U9ZG2}7Rg-3@cIfenNlQ((Wz724*UF)fx9m8s3$&1?N1c%j$@Pvsk?SB3D zKWd-+WVjH4a87cggL6|=8K4^ehrEHe-1q8tKe&0S#uG|XsPiO+ zQ9@19L`XzLa-uF%>L_*0nKpdkKq>Bv*AJ)H*PkIFh4-Tvr?8a(D~Y ziMx2{TCy06kyVIfPZ$8pkPht5{lOii`;R^LXP@~aXaQ=_7JZf8H7f0_PGW0ZiJR?O zZ@%-+ksPy3ak|NU9t%vU#TexKd+F(C9(m{?T-rr#eg+3CSYeLvE2e~8pdf%5-|@=t zeBgm|Z~UHKCKxrMBMFj1T9v(&A`lp5&LP1~mi43MCPncZtm{K*pfojlSXYw z3&}MPO36fs9ZW|?>Lc@n6b?m&EWqwc`;DmlaUz$V*AMD+^k?Y@Y58fktnoxB& z)5TJLWqH}$6CP^DH?UQ*fq9Tro2xLf30V@Oj^Kk&A)QeYX6F6gjE-F=oZJ9&G9^4$&o?ceuSY@MaeRMkY-0Cmd_ zCgeyKln92Vbne{Q@A;m4fAEK%{GAUS?C;4Y_7D7A*JYMc>%qKkPjk10f%~Dupy(!^ zcc26t+)$PkE*8bx=@>2?hbk@skO(B8keALNj^3~-IJl@%wGtR48F{*K-1Z4Fhf*uw zB>=-X1pOQo&Koj=DIrRV2r7qXb*#rjs~Yi_@BO%EbUJ7jgRhWG7n%g8v;VeK2S6us z%AG=7E9FjV?@pKXD01>s(yKlS5!W(CXT;!Al@9j);u9Zz`={QE_x>0R6G25aSfWYG zL3Rj1sWEqurs+*@e&b*J@kc-M+j-ItR<^ce*sFaVXbY2sc`YSj54ihYlnu-oy}`W6 zn~nE%>G|;EP!wzt=MB;h8XC$d41+Pl-9SXj0LYP@ z3?PQLO6ulhghR>tp=q!bt#gb;h+pDh@sVBYn0-C=Fm4@fdpP_qCz&cvp=;&oCT6=w z{@ZV57{rN%$kF$8W3o~EGV$yep8oiM`;`aY`5?@(IZ>~PClr2+Rz?&?u5dC+%(&x@ z?t9<*`gi@%;~)Lqa&V!O)MYm+<_>BlN4M_81AqH%xNi%ayGR2PP#xe_Tsur7Lg7kX?mRoxdH|@hWnTp=I&&MrWVR* zTBR80+u+cQ(ge(-Cgf#mY2Q{94APgVYt2fnHr5Ng#naT45Q=KHrCRSyWCyv|Kl}aP zd*Ba#4?p~)7_6I24Xg%I=M?#0Oah9$bq8|BU3b6rC*Jp^&woC-&1QRD&MY#Y*XdNI zoZ$V%0odHb*&f}K;C++I6vFh>x|WTz74vbrRw%0()LN=z7Aa;p z=5lLXs`+A1)TlfT!p$t+PN8e5R%U)NlxMC0IqRT_yxYk0dC3!TE%l)6OgDe$1ONF) z-u(d54mn5FlGG90&>}{yYdJt9*x1CI-tzh%{NYD_?N@Kx*xEnXO+c3gDzo{ZThIj1 z9t4=~V#AzZT6kfAG@=u=iRgwAPDqLTGH->4L-p5ZeeMn-Sm_E>fGy<{1TUGK#2^gw z#?W;@*~sC(=r{&)Zv`6K%nl=wNI_mTvzEU1Z*466A}7+NK8=Zeb94Kp=vEDE4kIHV zfk~N=h<9@L)z5q!zyCWJ3XH9eC2On%(}yY|^P|ySWs19BdEbxy_|9Fg1Z5IP#&o(l z@2gKHbpqakB?X(C=>VI72f{p~7ev6q@+c;U0t|wlcp&Pt4>?l@pR$4t zT2To-4Vv`YicVKT9LYEsP#G{<}e?Pv7%aKIA$KhH#ruZ z_mfQ9W`>0MbQd!TD=*|C42aC+{ld`97~Iax-uThf=)q8hcAI_QQjiw zBtm^(a^|8i$8?g1-3w>S{I~wof5bPQLRD#^Xkf_@2CW)0K@wzaZ_^vz^xmKPJI@R% zlZ|1(!NK0v_B3Uh_1N!G+|UULF>y{AIvG!|ot$&CE}G?Z16$&@mTRH_l;M-)l0YEC zP*9q6DIF@I_?+T|X-r9rb{o~O1)MB3vVU}w6|Y1T5L;>9F_b1SGrLGqBLCVjLB8LN|`J!dTgbfgFy$ZW}p<5pY9$0qU+Grrt0A#P%DDn_-X z(v4)AQ|$RGdVI&_mNlG0*V?=I!Y*qSB4LKWpyXf|5bM%M*aG?lc3~%w5j1(tW@H(j zTRt&*p!b%%&hX@@j@sBY3V4vfJ=%Prp`cDkypR#qgrW31f}Mk5_NB+Z@qa#y*?Cw^ z3?aZcRyfSYsDzs0W<-j}J@=gXn?E_d_e}@2BSoJ0P!7D#HZzEjx{Nx2+0{pmt3j%Z zS8l}+FggQ_=tj0nmsWD*ViKhNN*F*Dsbm5aoG>^fp$TN5E_KM8cfu4ERLH<(Q8E@l zbynq4#cKSR8v99{#1|_GYP~KJoKY8z(!B2qK>`9E1SqeQYuu+01 zBUI5M${}6lOrGEwE+LQ_DXOO4N^cO zBkB;W&12-TMsHJ}6992+GvWLTpZ)C*;~QT`e~BDpT`7RrN2;zNhVg`yAPKkM_O8G6 z)0bqDc6K;HfMjC=f6SVzON=qMVo9%COvo)La-A(XQq*N3IJ+{8tdY|x9GX#jWDFlI zZgGtFSnf`tt>IQV6BIi%C)4K047sSt1Ye$ToX&z|=u4l<;?wTWmEfL^(+3+9x@eOb9)9j_?V>}VXq*om5xmKGW6C&4xO4Su5io{kfB za_6fDxVw_KtV44s$i_JGRSCQysG#{sZ`G)6ROy;7{{&WZul+{faS zEg`DNk!^{8{j(3h@Uf3#wg)fFD52m9MC!0X6jH%T7>pnZ+uP^f`<}bL|Ndu)F3!U* zmqoz}v5+@ZX9rmb3AiT%!#lEgag$858`@IXLrTziXpCW@cVjdfP-wHa7|63WF{xHm z#oExrQA8|A_+cM4BK?WM28PPGPp}6sALD^7MGjYG41y|S>RN=Dt@YcO%vZX+3Y44h zIM|I*5rnbUfydiUxwv>3QgA1B-K>2$4ww5dozrvtfB$mXCQxSQy(a>Q)S`=wHo`Mpl8#s6Fo$vd}-Hq*v4aO8cX(#W?++}BVQD=`qq5a+s z@XIER>u;C8Z)?=}yvL$31GYm#jh|_4UU@_NoQ&wyj%%B){S}B#t+B9GxW*p+h zTBg41?n6fI3&O;LO>L z_q_WJ?|u+@hjeP5+nC@h)l&%0gUj55Q%?hU09UYskD=%^_Hy?i7qJ`rC{Vo&(+X-b zbV^+nF$v~UE9a=;X0QxowArCqO=0j}4cE}uNQzE*QY}0`D~-R>bqQe9as6YgK9*bw za9g<P`7IBjO1V+r@QeH@{x8C#WdTayBINU9p&m|J3gJR z^-mst*wZFRDvho}A|6M|tB|#u?pJH>xFy-+b^@zp?G;(Vwr_Vh3|yHDr{y|?EOgrm zAm>Cv6&t3LgG-NX_7E z(cw6nk6RiCg4ojy_p6rw%kHDnAQt0CTUsUy`-$8dqZgIgs6`USLxzv+3WI2T$179T zb>OU&lw$Sba9x<@vihvV$;UBFJFOt|Hft{&Im=dx8yx={T~lpLvxuzvGD&rT#Sqh; zl}KxYDK&pg*htHj-c_Hp(*V6x9>PFLTgqJpv`PO+l)(mItEV>JWOk4fH?d_Tvq^QR z!mr3tcS~@A3qaobMrGbl`5rJpJDP|GnPpe_j7EXYTtx_xWz; ze7@(LdoG*~OtHISOJksq_-yAJh9k^GfugW0mXiA}?Kd1yzRk4V5Hokco3D|t+CB*y z)*dQk8lKs3TcR&FDnS$8ck_-vjBqu7&SSg<9io!>ig-I2vhIqOI@ zg)XV|allWvNZVdpHlmNU#muI@aFOzr2#z!D^1Ky&tJyOSBME`rIpAGcx%$ zHdWA)hRIB(PjFXL@Vm3=IA_`qw^t5+wK%;D{6{5i;i53Lm^+~(4=`^rCiWn0^9P(e zI2z#`m$+4hP>*SlC9l456v3W_ zkvWWA{)TGf6B8l=OP3hgYB(?YgfaZqB4_sp$y^n2SclN;>Aa4}t5F64bGN;4iqhs9 zpaT~|Gx?>?pb;oMv1r-Obw`*cml&<-KxpjJerv-KmnIMO2vlwv)FHZ`r_6!Ddst-l zgZDjhs&)5r1du!D;e$F~E!WG_C|6wB7H&0mvn0j(00W=PqE)D&kS~8f95PVxd_Ne;tDX(ynZ^#c?$p|X_RW5M(T_4n3!2~VZ^8D(cfw;xN|-cO z-tLmxa!8VW@J8(?d;2HExX=rUDB%;-2&L?wvXDd` z4m}{AS+UYF@w{DyJbn61Xf0*GTqHTH~43;XMxso{@+zgw1;WbE_+9CW( zDMa!Mf*?h2<1~|;*70}XF|VtFB=R)rP33jcyGbU08~Fg)wikOpYwgrUUS@p^xT*K- zmSaxx?72M$l}v2uM|#^@JPk{m^67n?`L0De?h`OC(Q=ouDaGUoS6tkh%C)Ry>ZbD6 zcK6=LH*q)ii8#5XdF71zT{g;#=NCZjP0TtD%drr3cD@yr-X`C8r0#_(ythpve0Nys zz%@Sh%!6F%FK>DAZXZ!Q4LRw6-di!nD}AA(!aUn^=EJ$ym`mvP^eK$5fY`_2IC}}8 z;Lh~k;!i9W%4~8@={}7nMuwHMMws1cctteM%cZrPwASuZZ#N;R9(cv|TB$O`@Tseb zM#o5ujr0`1$RH-r44CWkipvy_-k~|*MBZGd0 z3_Q}3$nW){?XI%wCm|6lmc-~#9nbS0qxtHc_&)e@s;Rx*rtG*8mo zS4kq#>2$(IXUgtnq+5vOe zG!dgQQC%s(a4fYB9G3vScy-kM;K0==Q76Q(8&$*(DgYBb@9;9FSPA(rjN zE44LO?c9X>GuH=?S9T8d)-bnM%^`=mR4Q#A;3v1(78dTiR=xlv*oiTA_vahFug{WuOeQiNq zA9ePK6w{u#jJcZlWPVoP^K^nroZGU5oc%4M>R-Cu(nu_DH7fvhq<2*X3~sl3rn}hX zSCD{BBKUMKYlo0N7FK_W4w`xj?+-6dT6#A8+!5+?hsM|8aL#nzJ|FF=n6uWGa&I*T z?(Dan@^VxV$d|~k71SW|JU_Ji<=L(>jqvl^{^q|s*420n>^k#e!OmGUrks}6hr=S^ zHoD+Fp*6qFg>c;QGDr-bd;76hQgV6=ktk7Ne9o`+skO#9l1-XP>~gV4#*xS^hrNcZ zTMJ;Qu*+dO$=GN61g!e|_W9Z0l1Zq%wnZ-o#rXWXJSg1j^Zna@aoYV&EEtJC;S~1$rjsSakE3A=Xwh{w{3TKekVEn-ahDJ zt)#?~C4poau7WzpRf{S0;c$+;5NDFDd%$0Uzr0wg#W1|?>C-D`1F!Vn7&C9!&%fz2c%$QhNbG*@ORWWyTcrF4W6gYduRG_scbr|+ z*M^d|B*=853-+DacZM%j%vs1i9l}ooQo76>+1LkHhrw_2NQV^%2g%T}eOQpLe`+h5 z{kG)muxKo)$>ykC+w^ti%JM+(hs}a_ZSTRY??3M^KXk?Qc8RGN42@ylU&jDtjE`vD za)70?s^aQyGv+vkNS#)6V-q7(?ED_4jIQ!SjQV_HICHa0VWC?bptX;|QtIw~{()+H z#O9-;#fa)=F1Mw!2A2^Q+5) zoJhO@B0Aw$llSjFn`6@{Ppc{XA~7*q^G-J1Al<^A<~fODcZ(cy&0LvrzV%|hH#5~) ztOssJ2?+GKsiftEF{4DY2+8z?72}MheNEi)IzuCz2+2^^AuS>Uv}G^`5~hF2g6-A`Id1I>ajt0ZEm|D!svfVr zI2)#Y=_2A-D#65QNn50{8-1P^>-~;X=#m#yhgLkfA-8Vuy;4^xd#lpWr+Q6SE}~a) z?o<>Z&ZO8iiBt&u#gDxijdjwAy%#Ye`SH#lX={_4Lp;vYEesIlj%;BjzG<;Qwxb@# zRZ>o!o(BF`U_o*TZTrK|l?pYai6jB5tgQ^m{1xmpn)H^{k6kB1bBje$@g+))&umzY zoujl`1s!H=YLf-UGNl%~fGngN#*K{~o6ggJ^uB*X~~3`v~Wqh4hYES89n8+8pI~ zy+%62UVfGsVj42^KZpHD&mBwQj>{=hx==JADw8ZGs>2Q;E<`?_Kl_B7%N1fl``KZl zyDJl8F2mgB*E6KK^$7hy#wig#LGNusr}Ap5IuZ_B2|c+dQRU{@15@{^p48wcWo!9W zu&Yuc+o#`pKVfsbnHp*rY5ak3tD%P52;mRQj<21PR^|smK4+NQXV5`Th7QJDYGgdA z*TdSik4N8W)`uIFFNkNoRN6XX&8jliF0KN|fwYo)VYr7EF0rffN2_*nBT%l9zi5rKrIt1dyWMl6&mGq1Hp zIwpxw<+d@J+czk+QOA41I3r`~uTOKT#L&z2f40MOP0#YBV@JD5Cr7;|(kIJQ%ZBUr2_ZyXPsZ`0 z3ZK_4I=!jcF_ca!j}Rtbj(qDI>*{-@(PbvBzRy-tpA0CZqL7u+;J1bWdxMKB+rik0Vsqo5t-4Nn zYVTNGd}xtf7ShtpN{ZpHwo2ddtW&fZvf0s{Jc*c%H7He4_j)@{m5Exk3g-{eEIv>o|1;z*un=j+|PpV(oTuR?7VKg(%-*S)K0opNETb% zhObzNA@3+{zTR_EYWH?AtwJvvmTjHJH(w20j?2!ulFPc&_qo6W=D&DHw*+(^7>qVF zdYI~M$}?B?*UKJR|Pv|@lx#9`pP$7mc#ntJFdSD8GKdXd3}3xy&_+czuA;MfVf5I9Bx+b>>`g@BgZ&ZtwuwoygR~hPwwAAp4+xLAa<`r5xX;?d`=eqrTZQaiPM*lDJaJT&Yi}21&<+AWz~cI?kG)hcKfH2 zcP&i|)V#@v3D)fuMOitvn&r1xi+{968@p-nDHcD5bo-Ikj*_fp4PaH~vD3YGukMzb#LhEKpF(7(e3OCt5f@hCHDk^o1;3f~Z*b*6yrresD5+ zzkkQ+7)1($0#5AX@|VK#CUVfBmJ4*@p{O4FPQsoYCGe59!9~0A;gV#s?84jNzx8C5 zzYw)_^Gi&|8x=I>We919KRftYX*7V^!sCr5Wy2=pkp<_EzN{`Aoh|>65fGIp|HSMO zOY-}%n+%S3K5W57e)O490)?jZw^$z|?beKmqLIm@XAEQooj+#u_KnJl#&j$nB@a(f zooYM!&T1S+BCDR}seM>Z@qa0lY**ns+j4)7$>7vbOsl@YUnSWu&BGlLZj3B;xPy=x z&Rm}O$&;eX+ZDdH_FO-*LviQntU(QJe$(c+wp;hBY3OU*c|oiFAS{BPA)V! z=VD%GJ&*1aR|B7g;p2A#gq*D`!!(T8#;vQzVb!U_p4J>@TiPJP7GDTrLnO8xp5vvX zPE5#v?i0sbt+fZq2STQH{cYSzR4(sjycqmG@~^7t8Ts7jEV~YT;XM+EBlVqH5@gCy z&$|t`Exj9??vq|}m+zc;=MLkQbG-N!q0x_81wtddBcnbaC;jg#ooPsWkQV3&6pzo} zWpcaH@zH*UhA|t>z*bq=m3$$gtl33vj+Z?22Y928f4QKe-U@m>{K+hw0U3p=v>0Kx zF#cRbmUvWXxa(W)mb*4+rD>^$6eQtx-RUAIlnq**Ta%=v zP-qg#g&@#!7nNv;8{!+sbusECgXE7yLu8Nyfv7}nx-Ld*2m)R-i69VN1a0Dv;%n#Y zVrxAu&oM}@5pCk~9MI1?(M7C_fk5PHy2BI-lRcHb?q{+m1yPAnoD{?$xze;QMrD0h z74>{gT~w7(o34rd#`^N#tPhr5t1e-P@$ceOCRfnO8_kSJNO;<0xCgi;e9;U zK38D|)NlGt?I-Xz=b!)w+=d!H2y7z_Ln+9}%YmikU=SIU90Cl5q98H|dB7DR;W7$H z03_Nzcz-XTRMf@_)~;nufNLKN&esd$gT*->2dYB>91U!Mn5wsf~RC^a#9t{d}+( zPu3v9mdDMUp#E(L16d}1&D2udY_l=EQV|G< zSX82;ET%D$skGF?L|*P<311hZvY70DBs#!DgFsZGHeDB^I}8L75Q7j1#O6+$$mY%< zxj`)9jN(k>b+I+}BH$|4h&FK%@Ch5l=Dscl0+HNl4S^X-Qi%kFtnW>z=ihq!u7V%c zMO7KK>6+ND?gIY3I@|_&Ha5dQMUhp&{Di>oWsd#>1pV(tk^e4q)}shjk^c;t)hP1s zZ~;8`pP&Nt@+X+AMiDACkWKOo=9xgo0ZK;j>m8-ADTd&#>Xlut6yZnibdQG* zqA?v%>=%xwdMXFh6eaey#IOz11-#&-`ORkjp3ZGp?H{7Zs%?JS!@s5tzeW*i_x}(@ zz6TMYyd&Px1nUR3ku}uN0_K4Y@&n7RR+v;g$D{pQbV;C6ucVRfHN47 z3T%Msrw|Tg1}0GO>NKdQFz{-iW|cLivR4D4@#+N(3}3rL%?Q??j8+FRafPmD!BjpV zMx8g%#>5qf`s@9gxB|BO24>j}%u?s51GHYR#ij!T!@dat!>p%H@b9S;D^(Lt{*G85 zu*6pi$P;7;(g10Jz#t?@1_T30K@ym(o1X`E^}Y`1FvuJv4cvhMBoCZHR)3%%C

b zsslNQpBo;hLCt0)G!$VFm^=gyfkEL2IRsn^0ucw^fSf+w=?@~`XDjzT?Et2-n%1df z{4gGP7hv*0Nlxo1i5)!sDeBSFxF3UPz9vi=5;`kNa|zY z&vGaj?3cDE*e~maqJV*aX^Z-0TsRE&i~fMsQa9UA<06o7$YvWMkVxonc*xE3L!jWl z=pKQRqdJbC$3Q6{f8`;8$BxZ%D9C1A0my*tL}(; zp#ip0!Z>0ea`FxUQeX-&EXo-vr+~!35OQz~0*Zk`996)77O`7<9>Vzet?plW7(_vV Lb%YUK&%i^{QSsf_NI_^K$?HnBW`8uYUT`L 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 JT+>kNzW@!F{tW;C literal 0 HcmV?d00001 diff --git a/public/invoices/invoice-INV-2026-000117.pdf b/public/invoices/invoice-INV-2026-000117.pdf new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..a53b09776896f2382e7da68bf1a3664a1511a355904b5f259da2627e31636d93 GIT binary patch literal 62641 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 Hf!2Qk?cY>{ literal 0 HcmV?d00001 diff --git a/public/invoices/invoice-INV-2026-000134.pdf b/public/invoices/invoice-INV-2026-000134.pdf new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..04b1d4aa214e6d45e9d68c015eeceb14b1d717f89475f0c4affae84a4b810909 GIT binary patch literal 59900 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 CyEYF1 literal 0 HcmV?d00001 diff --git a/resources/views/admin/Partials/container_popup_readonly.blade.php b/resources/views/admin/Partials/container_popup_readonly.blade.php new file mode 100644 index 0000000..88058ad --- /dev/null +++ b/resources/views/admin/Partials/container_popup_readonly.blade.php @@ -0,0 +1,102 @@ +

+ + {{-- Top info cards (container / date / status) --}} +
+
+
+ Container Name +
{{ $container->container_name ?? '-' }}
+
+
+
+
+ Container No +
{{ $container->container_number ?? '-' }}
+
+
+
+
+ Container Date +
+ {{ $container->container_date ? \Carbon\Carbon::parse($container->container_date)->format('d-m-Y') : '-' }} +
+
+
+
+
+ Status +
{{ $container->status ?? '-' }}
+
+
+
+ + {{-- Totals (CTN / Qty / CBM / KG) --}} +
+
+
+ Total CTN +
{{ $summary['total_ctn'] ?? '-' }}
+
+
+
+
+ Total Qty +
{{ $summary['total_qty'] ?? '-' }}
+
+
+
+
+ Total CBM +
{{ $summary['total_cbm'] ?? '-' }}
+
+
+
+
+ Total KG +
{{ $summary['total_kg'] ?? '-' }}
+
+
+
+ + {{-- Excel rows – same headings as container_show --}} + @php + $allHeadings = []; + foreach ($container->rows as $row) { + if (is_array($row->data)) { + $allHeadings = array_unique(array_merge($allHeadings, array_keys($row->data))); + } + } + @endphp + +
+ + + + + @foreach($allHeadings as $heading) + + @endforeach + + + + @forelse($container->rows as $index => $row) + + + @foreach($allHeadings as $heading) + @php + $val = is_array($row->data) ? ($row->data[$heading] ?? '') : ''; + @endphp + + @endforeach + + @empty + + + + @endforelse + +
#{{ $heading }}
{{ $index + 1 }}{{ $val }}
+ No Excel rows for this container. +
+
+
diff --git a/resources/views/admin/account.blade.php b/resources/views/admin/account.blade.php index db330cf..b2d95ee 100644 --- a/resources/views/admin/account.blade.php +++ b/resources/views/admin/account.blade.php @@ -2603,11 +2603,12 @@ function renderPaymentTable(list){ ${escapeHtml(entry.entry_date)} ${escapeHtml(entry.description)} + - + ${escapeHtml(entry.region)} @@ -2680,7 +2681,6 @@ function renderPaymentTable(list){ - function cycleToggle(btn) { // वर्तमान position घेऊन पुढचा स्टेट कॅल्क्युलेट करा let pos = parseInt(btn.dataset.pos || '0', 10); // 0 = unpaid, 1 = pending, 2 = paid diff --git a/resources/views/admin/container.blade.php b/resources/views/admin/container.blade.php index 4e8298d..a64fdb3 100644 --- a/resources/views/admin/container.blade.php +++ b/resources/views/admin/container.blade.php @@ -98,9 +98,7 @@ gap: 10px; } - .filter-title i { - color: var(--primary-color); - } + .filter-title i { color: var(--primary-color); } .filter-grid { display: grid; @@ -108,9 +106,7 @@ gap: 15px; } - .filter-group { - position: relative; - } + .filter-group { position: relative; } .filter-group label { display: block; @@ -139,9 +135,7 @@ box-shadow: 0 0 0 3px rgba(76, 111, 255, 0.1); } - .filter-input::placeholder { - color: #94a3b8; - } + .filter-input::placeholder { color: #94a3b8; } .filter-actions { display: flex; @@ -212,9 +206,7 @@ gap: 12px; } - .card-header h2 i { - color: white; - } + .card-header h2 i { color: white; } .stats-badge { background: rgba(255, 255, 255, 0.2); @@ -239,9 +231,7 @@ transform: translateX(4px); } - .container-item:last-child { - border-bottom: none; - } + .container-item:last-child { border-bottom: none; } .container-header { display: flex; @@ -297,40 +287,92 @@ color: #94a3b8; } - .status-badge { - padding: 6px 16px; - border-radius: 20px; - font-size: 12px; + /* STATUS DROPDOWN (badge look) */ + .status-dropdown { + position: relative; + min-width: 190px; + cursor: pointer; + } + + .status-dropdown-toggle { + padding: 8px 16px; + border-radius: 999px; + border: 1px solid var(--border-color); + background: #ffffff; + font-size: 13px; font-weight: 600; - letter-spacing: 0.3px; - display: inline-flex; + color: var(--dark-text); + display: flex; align-items: center; + justify-content: space-between; gap: 6px; } - .status-badge i { - font-size: 10px; + .status-dropdown-toggle span { white-space: nowrap; } + + .status-dropdown-menu { + position: absolute; + top: -230%; + right: 0; + z-index: 30; + background: #ffffff; + border-radius: 14px; + padding: 8px 0; + box-shadow: var(--shadow-lg); + border: 1px solid var(--border-color); + width: 220px; + max-height: 340px; + overflow-y: auto; + display: none; } - .status-pending { - background: #fef3c7; - color: #d97706; + .status-dropdown-menu.open { display: block; } + + .status-option { + padding: 6px 14px; + font-size: 13px; + color: var(--dark-text); + cursor: pointer; + display: flex; + align-items: center; + gap: 8px; + transition: background 0.15s; + line-height: 1.3; } - .status-in-progress { - background: #dbeafe; - color: #1d4ed8; + .status-option:hover { background: #eef2ff; } + + .status-option .dot { + width: 8px; + height: 8px; + border-radius: 999px; + background: #9ca3af; } - .status-completed { - background: #d1fae5; - color: #065f46; + .status-option.active .dot { + background: #22c55e; } - .status-cancelled { - background: #fee2e2; - color: #991b1b; - } + /* COLOR MAPPING per status – dropdown tint + main toggle text color */ + .status-option.status-container-ready { background: #eff6ff; color: #1d4ed8; } + .status-option.status-export-custom { background: #fff7ed; color: #b45309; } + .status-option.status-international-transit { background: #f5f3ff; color: #4c1d95; } + .status-option.status-arrived-at-india { background: #ecfdf5; color: #15803d; } + .status-option.status-import-custom { background: #fffbeb; color: #92400e; } + .status-option.status-warehouse { background: #f4f4f5; color: #374151; } + .status-option.status-domestic-distribution { background: #faf5ff; color: #6d28d9; } + .status-option.status-out-for-delivery { background: #eff6ff; color: #1d4ed8; } + .status-option.status-delivered { background: #ecfdf5; color: #15803d; } + + .status-dropdown-toggle.status-container-ready { background: #eff6ff; color: #1d4ed8; } + .status-dropdown-toggle.status-export-custom { background: #fff7ed; color: #b45309; } + .status-dropdown-toggle.status-international-transit { background: #f5f3ff; color: #4c1d95; } + .status-dropdown-toggle.status-arrived-at-india { background: #ecfdf5; color: #15803d; } + .status-dropdown-toggle.status-import-custom { background: #fffbeb; color: #92400e; } + .status-dropdown-toggle.status-warehouse { background: #f4f4f5; color: #374151; } + .status-dropdown-toggle.status-domestic-distribution { background: #faf5ff; color: #6d28d9; } + .status-dropdown-toggle.status-out-for-delivery { background: #eff6ff; color: #1d4ed8; } + .status-dropdown-toggle.status-delivered { background: #ecfdf5; color: #15803d; } .action-buttons { display: flex; @@ -373,39 +415,7 @@ color: white; } - .update-form { - display: flex; - align-items: center; - gap: 8px; - } - - .status-select { - padding: 8px 12px; - border: 1px solid var(--border-color); - border-radius: var(--radius-md); - font-size: 13px; - color: var(--dark-text); - background: white; - min-width: 140px; - cursor: pointer; - } - - .update-btn { - background: var(--primary-color); - color: white; - border: none; - padding: 8px 16px; - border-radius: var(--radius-md); - font-size: 13px; - font-weight: 600; - cursor: pointer; - transition: all 0.3s ease; - white-space: nowrap; - } - - .update-btn:hover { - background: #3b5de6; - } + .update-form { position: relative; } .no-results { text-align: center; @@ -444,16 +454,13 @@ animation: slideIn 0.3s ease; } - .success-message i { - font-size: 20px; - } + .success-message i { font-size: 20px; } @keyframes slideIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } - /* 🔥 Totals section */ .totals-section { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); @@ -504,9 +511,7 @@ width: 100%; justify-content: center; } - .filter-grid { - grid-template-columns: 1fr; - } + .filter-grid { grid-template-columns: 1fr; } .container-header { flex-direction: column; align-items: flex-start; @@ -519,13 +524,8 @@ } @media (max-width: 576px) { - .update-form { - flex-direction: column; - width: 100%; - } - .status-select, .update-btn { - width: 100%; - } + .update-form { width: 100%; } + .status-dropdown { width: 100%; } } @@ -569,10 +569,15 @@ @@ -610,22 +615,31 @@

Get started by creating your first container

@else + @php + $labels = [ + 'container-ready' => 'Container Ready', + 'export-custom' => 'Export Custom', + 'international-transit' => 'International Transit', + 'arrived-at-india' => 'Arrived at India', + 'import-custom' => 'Import Custom', + 'warehouse' => 'Warehouse', + 'domestic-distribution' => 'Domestic Distribution', + 'out-for-delivery' => 'Out for Delivery', + 'delivered' => 'Delivered', + ]; + @endphp + @foreach($containers as $container) @php - $status = $container->status; - $statusClass = match ($status) { - 'completed' => 'status-completed', - 'in-progress' => 'status-in-progress', - 'cancelled' => 'status-cancelled', - default => 'status-pending', - }; + $status = $container->status ?? 'container-ready'; + $statusLabel = $labels[$status] ?? ucfirst(str_replace('-', ' ', $status)); @endphp
- {{ substr($container->container_name, 0, 2) }} + {{ strtoupper(substr($container->container_name, 0, 2)) }}

{{ $container->container_name }}

@@ -647,51 +661,56 @@
- - - - {{ ucfirst(str_replace('-', ' ', $status)) }} - - - - - @can('container.update') - - View - - @endcan - @can('containers.update_status')
+ method="POST" + class="update-form ajax-status-form" + data-container-id="{{ $container->id }}"> @csrf - + + @php $statusClass = 'status-' . $status; @endphp + +
+
+ + {{ $statusLabel }} + + +
+
+ @foreach($labels as $value => $label) + @php $optClass = 'status-' . $value; @endphp +
+ + {{ $label }} +
+ @endforeach +
+
- @endcan - + @endcan + @can('container.update') + + View + + @endcan @can('container.delete') -
- @csrf - @method('DELETE') - -
+
+ @csrf + @method('DELETE') + +
@endcan
-
{{ number_format($container->summary['total_ctn'], 1) }}
@@ -716,87 +735,121 @@
- - - - - - - - - @endsection diff --git a/resources/views/admin/container_create.blade.php b/resources/views/admin/container_create.blade.php index f947a4d..158de77 100644 --- a/resources/views/admin/container_create.blade.php +++ b/resources/views/admin/container_create.blade.php @@ -137,6 +137,10 @@ Some rows in your Excel file have formula or mark issues. See the table below, and detailed messages after the table.
+
    +
  • Red highlighted rows indicate formula mismatches in the uploaded Excel data.
  • +
  • Yellow highlighted rows indicate marks from the Excel file that do not match any record in the system.
  • +
@@ -183,11 +187,9 @@ - {{-- Formula error rows --}} + {{-- Formula error rows (red – formula mismatch, critical) --}} @foreach($formulaErrors as $fe) - @php - $rowData = $fe['data'] ?? []; - @endphp + @php $rowData = $fe['data'] ?? []; @endphp @if(!empty($rowData)) {{ $fe['excel_row'] }} @@ -199,11 +201,9 @@ @endif @endforeach - {{-- Mark error rows --}} + {{-- Mark error rows (yellow – mark not found, warning) --}} @foreach($markErrors as $me) - @php - $rowData = $me['data'] ?? []; - @endphp + @php $rowData = $me['data'] ?? []; @endphp @if(!empty($rowData)) {{ $me['excel_row'] }} @@ -292,7 +292,9 @@
-
@@ -322,4 +324,26 @@ + + + @endsection diff --git a/resources/views/admin/container_pdf.blade.php b/resources/views/admin/container_pdf.blade.php new file mode 100644 index 0000000..e159674 --- /dev/null +++ b/resources/views/admin/container_pdf.blade.php @@ -0,0 +1,202 @@ + + + + + Container {{ $container->container_number }} Summary + + + +@php + $totalCtn = 0; + $totalQty = 0; + $totalCbm = 0.0; + $totalKg = 0.0; + + 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; + } + } + } + + $allHeadings = []; + foreach ($container->rows as $row) { + if (is_array($row->data)) { + $allHeadings = array_unique(array_merge($allHeadings, array_keys($row->data))); + } + } +@endphp + +{{-- TWO ROW GRID – FIRST: INFO / SECOND: TOTALS --}} +
+
+
+
Container ID
+
{{ $container->id }}
+
+
+
Container Number
+
{{ $container->container_number }}
+
+
+
Container Date
+
+ {{ $container->container_date ? $container->container_date->format('d-m-Y') : '-' }} +
+
+
+
Container Name
+
+ {{ $container->container_name ?? '-' }} +
+
+
+ +
+
+
Total CTN
+
{{ number_format($totalCtn, 0) }}
+
+
+
Total QTY
+
{{ number_format($totalQty, 0) }}
+
+
+
Total CBM
+
{{ number_format($totalCbm, 3) }}
+
+
+
Total KG
+
{{ number_format($totalKg, 2) }}
+
+
+
+ +{{-- FULL TABLE --}} + + + + + @foreach($allHeadings as $heading) + + @endforeach + + + + @foreach($container->rows as $index => $row) + + + @foreach($allHeadings as $heading) + + @endforeach + + @endforeach + +
#{{ $heading }}
{{ $index + 1 }}{{ $row->data[$heading] ?? '' }}
+ + diff --git a/resources/views/admin/container_show.blade.php b/resources/views/admin/container_show.blade.php index 2010f18..05b2326 100644 --- a/resources/views/admin/container_show.blade.php +++ b/resources/views/admin/container_show.blade.php @@ -6,7 +6,13 @@
- - {{-- TOP GRADIENT HEADER --}}
-

- Container: {{ $container->container_number }} -

+

Container {{ $container->container_number }}

- Edit loading list directly — scroll horizontally & vertically like Excel. + Edit loading list directly – like Excel. TT columns auto‑calculate from CTN, QTY, CBM, KG, PRICE.
- - ← Back to list - +
- {{-- MAIN CARD --}}
-
Container Information
- @if(!$container->rows->isEmpty()) - - @endif
- {{-- INFO STRIP --}} -
-
-
Container
-
{{ $container->container_name }}
-
-
-
Date
-
{{ $container->container_date?->format('d-m-Y') }}
-
-
-
Excel File
- @if($container->excel_file) -
- - 📄 Download / View - + {{-- 3 INFO CARDS IN SINGLE ROW --}} +
+
+
+ +
+
+
Container
+
+ {{ $container->container_name ?? $container->container_number }}
- @else -
Not uploaded
- @endif +
+
+ +
+
+ +
+
+
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 @@ -333,60 +606,114 @@ } @endphp - {{-- FILTER BAR --}}
- Total rows: {{ $container->rows->count() }}  •  Edit cells then click "Save Changes" + Total rows: {{ $container->rows->count() }}    Edit cells then click "Save Changes". - +
- {{-- EDITABLE TABLE FORM --}} -
+ @csrf -
-
- - +
+
+ @foreach($allHeadings as $heading) @endforeach - - + + @foreach($container->rows as $index => $row) @foreach($allHeadings as $heading) - @php $value = $row->data[$heading] ?? ''; @endphp + @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; + @endphp @endforeach @endforeach - -
#{{ $heading }}
{{ $index + 1 }} - +
-
+ + +
@endif
-
+@if(!$container->rows->isEmpty()) + +
+ Changes saved successfully. +
+@endif + @endsection diff --git a/resources/views/admin/customers.blade.php b/resources/views/admin/customers.blade.php index 31db1f2..8feb33f 100644 --- a/resources/views/admin/customers.blade.php +++ b/resources/views/admin/customers.blade.php @@ -10,7 +10,7 @@ body { font-family: 'Inter', sans-serif; - overflow-x: hidden; /* Prevent horizontal scroll on body */ + overflow-x: hidden; } .glass-card { @@ -22,7 +22,6 @@ overflow: hidden; } - /* New Stats Container */ .stats-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); @@ -43,9 +42,7 @@ min-height: 70px; } - .stat-card:hover { - transform: translateY(-2px); - } + .stat-card:hover { transform: translateY(-2px); } .stat-card.warning { border-left-color: #f59e0b; @@ -57,16 +54,6 @@ background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%); } - .stat-card.danger { - border-left-color: #ef4444; - background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%); - } - - .stat-card.info { - border-left-color: #3b82f6; - background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); - } - .stat-card.secondary { border-left-color: #8b5cf6; background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%); @@ -91,46 +78,19 @@ .stat-card.warning .stat-icon { background: rgba(245, 158, 11, 0.1); } - - .stat-card.warning .stat-icon i { - color: #f59e0b; - } + .stat-card.warning .stat-icon i { color: #f59e0b; } .stat-card.success .stat-icon { background: rgba(16, 185, 129, 0.1); } - - .stat-card.success .stat-icon i { - color: #10b981; - } - - .stat-card.danger .stat-icon { - background: rgba(239, 68, 68, 0.1); - } - - .stat-card.danger .stat-icon i { - color: #ef4444; - } - - .stat-card.info .stat-icon { - background: rgba(59, 130, 246, 0.1); - } - - .stat-card.info .stat-icon i { - color: #3b82f6; - } + .stat-card.success .stat-icon i { color: #10b981; } .stat-card.secondary .stat-icon { background: rgba(139, 92, 246, 0.1); } + .stat-card.secondary .stat-icon i { color: #8b5cf6; } - .stat-card.secondary .stat-icon i { - color: #8b5cf6; - } - - .stat-content { - flex: 1; - } + .stat-content { flex: 1; } .stat-value { font-size: 22px; @@ -147,14 +107,13 @@ line-height: 1.3; } - /* Updated Search Container - Wider with icon on left */ .search-container { background: rgba(255, 255, 255, 0.9); border-radius: 10px; padding: 6px 12px; border: 1px solid rgba(0, 0, 0, 0.1); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); - width: 350px; /* Increased width */ + width: 350px; display: flex; align-items: center; } @@ -210,7 +169,6 @@ font-family: 'Inter', sans-serif; } - /* Updated Table Styles - Fixed horizontal scroll */ .table-glass { background: rgba(255, 255, 255, 0.9); border-radius: 10px; @@ -219,7 +177,6 @@ font-family: 'Inter', sans-serif; } - /* Single gradient for entire header - Blue to Purple */ .table thead { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; } @@ -232,20 +189,9 @@ border: none; font-family: 'Inter', sans-serif; position: relative; - background: linear-gradient(135deg, #667eea 0%);; - + background: linear-gradient(135deg, #667eea 0%); } - /* Remove individual curved borders */ - .table-header:first-child { - border-top-left-radius: 0; - } - - .table-header:last-child { - border-top-right-radius: 0; - } - - /* Apply rounded corners to the entire header container */ .table-container thead tr:first-child th:first-child { border-top-left-radius: 10px; } @@ -254,7 +200,6 @@ border-top-right-radius: 10px; } - /* Updated Table Column Alignment */ .table > :not(caption) > * > * { padding: 14px 12px; border-bottom: 1px solid rgba(0, 0, 0, 0.05); @@ -263,44 +208,35 @@ vertical-align: middle; } - /* Center align specific columns */ - .table > :not(caption) > * > *:nth-child(2), /* Customer ID */ - .table > :not(caption) > * > *:nth-child(3), /* Orders */ - .table > :not(caption) > * > *:nth-child(4), /* Total */ - .table > :not(caption) > * > *:nth-child(5) { /* Create Date */ + .table > :not(caption) > * > *:nth-child(2), + .table > :not(caption) > * > *:nth-child(3), + .table > :not(caption) > * > *:nth-child(4), + .table > :not(caption) > * > *:nth-child(5) { text-align: center; } - /* Customer Info column should remain left-aligned */ - .table > :not(caption) > * > *:first-child { - text-align: left; - } + .table > :not(caption) > * > *:first-child { text-align: left; } - /* Status and Actions columns should remain as is */ - .table > :not(caption) > * > *:nth-child(6), /* Status */ - .table > :not(caption) > * > *:nth-child(7) { /* Actions */ + .table > :not(caption) > * > *:nth-child(6), + .table > :not(caption) > * > *:nth-child(7), + .table > :not(caption) > * > *:nth-child(8), + .table > :not(caption) > * > *:nth-child(9) { text-align: center; } - - /* Updated header alignment to match */ + .table-header:nth-child(2), .table-header:nth-child(3), .table-header:nth-child(4), - .table-header:nth-child(5) { - text-align: center; - } - - /* Customer Info header stays left */ - .table-header:first-child { - text-align: Center; - } - - /* Status and Actions headers stay centered */ + .table-header:nth-child(5), .table-header:nth-child(6), - .table-header:nth-child(7) { + .table-header:nth-child(7), + .table-header:nth-child(8), + .table-header:nth-child(9) { text-align: center; } + .table-header:first-child { text-align: Center; } + .customer-avatar { width: 40px; height: 40px; @@ -374,7 +310,7 @@ .customer-info-column { min-width: 220px; - max-width: 220px; /* Added max-width to prevent overflow */ + max-width: 220px; } .table tbody tr { @@ -391,31 +327,25 @@ color: #6c757d; } - /* Remove customer-stats since we're adding columns */ - - /* Enhanced table styling - Fixed horizontal scroll */ .table-container { border-radius: 10px; overflow: hidden; - width: 100%; /* Ensure container takes full width */ + width: 100%; } - /* Fix table responsiveness */ .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; width: 100%; } - /* Ensure table doesn't exceed container */ .table { width: 100%; max-width: 100%; margin-bottom: 0; - table-layout: auto; /* Changed to auto for better column distribution */ + table-layout: auto; } - /* Fix for search and filter section */ .search-filter-container { display: flex; align-items: center; @@ -439,11 +369,10 @@ flex-shrink: 0; } - /* New columns styling */ .orders-column, .total-column, .customer-id-column, .create-date-column { text-align: center; font-weight: 500; - min-width: 80px; /* Added minimum widths for consistency */ + min-width: 80px; } .orders-count { @@ -458,7 +387,6 @@ font-weight: 600; } - /* ---------- Pagination Styles ---------- */ .pagination-container { display: flex; justify-content: space-between; @@ -485,14 +413,10 @@ justify-content: flex-end; } - .pagination-btn { + .pagination-img-btn { background: #fff; border: 1px solid #e3eaf6; - color: #1a2951; - padding: 8px 12px; border-radius: 6px; - font-size: 13px; - font-weight: 600; cursor: pointer; transition: all 0.3s ease; display: flex; @@ -500,20 +424,19 @@ justify-content: center; min-width: 40px; height: 32px; + padding: 0; } - .pagination-btn:hover:not(:disabled) { + .pagination-img-btn:hover:not(:disabled) { background: #1a2951; - color: white; border-color: #1a2951; } - .pagination-btn:disabled { + .pagination-img-btn:disabled { background: #f8fafc; - color: #cbd5e0; border-color: #e2e8f0; cursor: not-allowed; - opacity: 0.6; + opacity: 0.5; } .pagination-page-btn { @@ -551,61 +474,11 @@ flex-wrap: wrap; } - .pagination-ellipsis { - color: #9ba5bb; - font-size: 13px; - padding: 0 4px; - } - - /* Image-based pagination buttons */ - .pagination-img-btn { - background: #fff; - border: 1px solid #e3eaf6; - border-radius: 6px; - cursor: pointer; - transition: all 0.3s ease; - display: flex; - align-items: center; - justify-content: center; - min-width: 40px; - height: 32px; - padding: 0; - } - - .pagination-img-btn:hover:not(:disabled) { - background: #1a2951; - border-color: #1a2951; - } - - .pagination-img-btn:disabled { - background: #f8fafc; - border-color: #e2e8f0; - cursor: not-allowed; - opacity: 0.5; - } - - .pagination-img-btn img { - width: 16px; - height: 16px; - filter: brightness(0) saturate(100%) invert(26%) sepia(89%) saturate(748%) hue-rotate(201deg) brightness(93%) contrast(89%); - transition: filter 0.3s ease; - } - - .pagination-img-btn:hover:not(:disabled) img { - filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(106%) contrast(101%); - } - - .pagination-img-btn:disabled img { - filter: brightness(0) saturate(100%) invert(84%) sepia(8%) saturate(165%) hue-rotate(179deg) brightness(89%) contrast(86%); - } - - /* Mobile responsive fixes */ @media (max-width: 1200px) { .table > :not(caption) > * > * { padding: 12px 8px; font-size: 13px; } - .customer-info-column { min-width: 180px; max-width: 180px; @@ -613,65 +486,42 @@ } @media (max-width: 992px) { - .search-container { - width: 280px; - } - - .stats-container { - grid-template-columns: repeat(2, 1fr); - } + .search-container { width: 280px; } + .stats-container { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 768px) { - .stats-container { - grid-template-columns: repeat(2, 1fr); - } - + .stats-container { grid-template-columns: repeat(2, 1fr); } .search-filter-container { flex-direction: column; align-items: stretch; gap: 10px; } - - .search-section { - justify-content: center; - } - - .search-container { - width: 100%; - } - + .search-section { justify-content: center; } + .search-container { width: 100%; } .filter-section { justify-content: center; flex-wrap: wrap; } - .pagination-container { flex-direction: column; gap: 10px; align-items: stretch; } - - .pagination-controls { - justify-content: center; - } - + .pagination-controls { justify-content: center; } .table > :not(caption) > * > * { padding: 10px 6px; font-size: 12px; } - .customer-info-column { min-width: 150px; max-width: 150px; } - .customer-avatar { width: 32px; height: 32px; font-size: 0.8rem; } - .action-btn { width: 26px; height: 26px; @@ -680,19 +530,12 @@ } @media (max-width: 576px) { - .stats-container { - grid-template-columns: 1fr; - } - - .table-responsive { - font-size: 12px; - } - + .stats-container { grid-template-columns: 1fr; } + .table-responsive { font-size: 12px; } .customer-info-column { min-width: 120px; max-width: 120px; } - .premium-badge, .regular-badge, .status-badge { @@ -703,14 +546,11 @@
-

Customer List

-
-
@@ -721,7 +561,6 @@
-
@@ -739,7 +578,6 @@
-
@@ -755,7 +593,6 @@
-
@@ -772,10 +609,8 @@
-
-
@@ -792,7 +627,6 @@
-
-
@@ -828,8 +661,8 @@ - {{-- NEW --}} - {{-- NEW --}} + + @@ -839,113 +672,106 @@ @forelse($customers as $c) @php - // Invoice total (with GST) - $totalPayable = $c->invoices->sum('final_amount_with_gst'); + // Orders = invoice count + $ordersCount = $c->invoices->count(); + + // Order Total = items total from all invoices (final_amount) + $orderTotal = $c->invoices->sum('final_amount'); + + // Total payable = grand total with GST + groups + $totalPayable = $c->invoices->sum('grand_total_with_charges'); // Total paid via installments - $totalPaid = $c->invoices - ->flatMap(fn($inv) => $inv->installments) - ->sum('amount'); + $totalPaid = $c->invoiceInstallments->sum('amount'); // Remaining amount $remainingAmount = max($totalPayable - $totalPaid, 0); @endphp - - - + + - - + - - + - - - - - - + + + + - + + - - + - - - - + + @csrf + + + + + @empty - @@ -956,14 +782,12 @@ -
Showing {{ $customers->firstItem() ?? 0 }} to {{ $customers->lastItem() ?? 0 }} of {{ $customers->total() }} entries
-
+ +
+ + -
- + +
+ +
-
- - to - -
-
-
- - - - - - + +
+
+ + +
+ to +
+ + +
+
+ +
@@ -1181,77 +1211,107 @@
Customer ID Orders Order TotalTotal PayableRemainingTotal PayableRemaining Create Date Status Actions
-
-
- {{ strtoupper(substr($c->customer_name,0,1)) }} -
-
-
{{ $c->customer_name }}
- @if($c->customer_type == 'premium') - Premium Customer - @else - Regular Customer - @endif -
- {{ $c->email }}
- {{ $c->mobile_no }} +
+
+
+ {{ strtoupper(substr($c->customer_name,0,1)) }} +
+
+
{{ $c->customer_name }}
+ @if($c->customer_type == 'premium') + Premium Customer + @else + Regular Customer + @endif +
+ {{ $c->email }}
+ {{ $c->mobile_no }} +
- -
- {{ $c->customer_id }} - + {{ $c->customer_id }} + - {{ $c->orders->count() }} - + {{ $ordersCount }} + - - ₹{{ number_format($c->orders->sum('ttl_amount'), 2) }} - - - - ₹{{ number_format($totalPayable, 2) }} - - - @if($remainingAmount > 0) - - ₹{{ number_format($remainingAmount, 2) }} + + + ₹{{ number_format($orderTotal, 2) }} - @else - - ₹0.00 + + + ₹{{ number_format($totalPayable, 2) }} - @endif - + @if($remainingAmount > 0) + + ₹{{ number_format($remainingAmount, 2) }} + + @else + + ₹0.00 + + @endif + + {{ $c->created_at ? $c->created_at->format('d-m-Y') : '-' }} + + @if($c->status === 'active') + Active + @else + Inactive + @endif + - {{ $c->created_at ? $c->created_at->format('d-m-Y') : '-' }} - +
+ + + - -
- @if($c->status === 'active') - Active - @else - Inactive - @endif - -
- - - - -
- @csrf - -
-
-
+ No customers found.
- - - - - - - - - - - - - - + + + + + + {{-- NEW --}} + + + + + + + + + - - @php - $totalInvoices = $invoices->count(); - $sortedInvoices = $invoices->sortByDesc('created_at'); // Latest first - @endphp - - @forelse($sortedInvoices as $i => $invoice) - - + + @php + $totalInvoices = $invoices->count(); + $sortedInvoices = $invoices->sortByDesc('created_at'); // Latest first + @endphp + + @forelse($sortedInvoices as $i => $invoice) + + - + - + - - - + {{-- NEW: Container column --}} + - + - - + + + + + + + + + + + + + @empty + + {{-- 1 new column वाढवलाय म्हणून colspan 11 --}} + + + @endforelse + - - - @empty - - - - @endforelse -
#Invoice NumberCustomerFinal AmountGST %Total w/GSTStatusInvoice DateDue DateAction
#Invoice NumberCustomerContainerFinal AmountGST %Total w/GSTStatusInvoice DateDue DateAction
{{ $totalInvoices - $i }}
{{ $totalInvoices - $i }} - - + + {{ $invoice->customer_name }} + {{ $invoice->customer_name }} + ₹{{ number_format($invoice->final_amount, 2) }}{{ $invoice->gst_percent }}%₹{{ number_format($invoice->final_amount_with_gst, 2) }} + @if($invoice->container) + {{ $invoice->container->container_number }} + {{-- जर फक्त ID हवी असेल तर: + #{{ $invoice->container->id }} + --}} + @else + — + @endif + - - @if($invoice->status == 'paid') - - @elseif($invoice->status == 'pending') - - @elseif($invoice->status == 'overdue') - - @endif - {{ ucfirst($invoice->status) }} - - + ₹{{ number_format($invoice->final_amount, 2) }} + {{ $invoice->invoice_date }}{{ $invoice->due_date }} + {{ $invoice->gst_percent }}% + + ₹{{ number_format($invoice->final_amount_with_gst, 2) }} + + + @if($invoice->status == 'paid') + + @elseif($invoice->status == 'pending') + + @elseif($invoice->status == 'overdue') + + @endif + {{ ucfirst($invoice->status) }} + + + {{ $invoice->invoice_date }} + + {{ $invoice->due_date }} + + + Entry + +
No invoices found
- - Entry - -
No invoices found
@@ -1366,7 +1426,6 @@
- @endsection \ No newline at end of file diff --git a/resources/views/admin/invoice_edit.blade.php b/resources/views/admin/invoice_edit.blade.php index 475fb79..be6ac79 100644 --- a/resources/views/admin/invoice_edit.blade.php +++ b/resources/views/admin/invoice_edit.blade.php @@ -1,7 +1,9 @@ @extends('admin.layouts.app') + @section('page-title', 'Edit Invoice') + @section('content')
@@ -504,7 +545,6 @@ Invoices Management
- {{-- Stats Cards based on invoices --}}
@php $totalInvoices = $invoices->count(); @@ -512,22 +552,45 @@ $pendingInvoices = $invoices->where('invoice_status', 'pending')->count(); $overdueInvoices = $invoices->where('invoice_status', 'overdue')->count(); @endphp - +
-
{{ $totalInvoices }}
-
Total Invoices
+
+ +
+
+
{{ $totalInvoices }}
+
Total Invoices
+
+ +
-
{{ $pendingInvoices }}
-
Pending Invoices
+
+ +
+
+
{{ $pendingInvoices }}
+
Pending Invoices
+
+
-
{{ $overdueInvoices }}
-
Overdue Invoices
+
+ +
+
+
{{ $overdueInvoices }}
+
Overdue Invoices
+
@@ -570,7 +633,7 @@ Invoice No Invoice Date - Mark No + {{-- Mark No --}} Container No Container Date Company @@ -586,10 +649,30 @@ $status = strtolower($inv->invoice_status ?? 'pending'); @endphp - {{ $inv->invoice_number }} + + @if($inv->invoice_number) +
+ {{ $inv->invoice_number }} + + @else + - + @endif + {{ $inv->invoice_date ? \Carbon\Carbon::parse($inv->invoice_date)->format('d-m-Y') : '-' }} - {{ $inv->mark_no ?? '-' }} - {{ $inv->container_number ?? '-' }} + {{-- {{ $inv->mark_no ?? '-' }} --}} + + @if(!empty($inv->container_id) && !empty($inv->container_number)) + + {{ $inv->container_number }} + + @else + - + @endif + {{ $inv->container_date ? \Carbon\Carbon::parse($inv->container_date)->format('d-m-Y') : '-' }} {{ $inv->company_name ?? '-' }} {{ $inv->customer_name ?? '-' }} @@ -633,6 +716,20 @@ @endif
+ + + + + \ No newline at end of file diff --git a/resources/views/admin/reports.blade.php b/resources/views/admin/reports.blade.php index fd2c09a..8f0121d 100644 --- a/resources/views/admin/reports.blade.php +++ b/resources/views/admin/reports.blade.php @@ -577,7 +577,7 @@ Container Date Company Name Customer Name - Mark No + {{-- Mark No --}} Invoice No Invoice Date Invoice Amount @@ -609,11 +609,11 @@ {{ $r->customer_name ?? '-' }} - + {{-- {{ $r->mark_no ?? '-' }} - + --}} {{ $r->invoice_number }} @@ -640,7 +640,7 @@ @empty - +
@@ -799,7 +799,7 @@ if (filteredReports.length === 0) { tbody.innerHTML = ` - +
@@ -842,11 +842,11 @@ ${report.customer_name || '-'} - + ${report.invoice_number || '-'} diff --git a/resources/views/admin/requests.blade.php b/resources/views/admin/requests.blade.php index c175b61..dc75442 100644 --- a/resources/views/admin/requests.blade.php +++ b/resources/views/admin/requests.blade.php @@ -15,11 +15,19 @@ @endphp
-

User Requests (Total: {{ $total }})

+

User Requests (Total: {{ $total }})

- @can('request.update_profile') - - - Profile Update Requests - - @if($pendingProfileUpdates > 0) - - {{ $pendingProfileUpdates }} - - @endif - - @endcan -
+ @can('request.update_profile') + + + Profile Update Requests + @if($pendingProfileUpdates > 0) + + {{ $pendingProfileUpdates }} + + @endif + + @endcan +
-
@@ -375,7 +388,7 @@ a.btn.btn-primary.position-relative .badge {
- +
{{ $requests->where('status', 'pending')->count() }} Pending {{ $requests->where('status', 'approved')->count() }} Approved @@ -385,9 +398,21 @@ a.btn.btn-primary.position-relative .badge {
- - - + + + + + + + + + + + + + + + @forelse($currentItems as $index => $req) @@ -399,33 +424,41 @@ a.btn.btn-primary.position-relative .badge { - @empty @@ -504,4 +537,4 @@ a.btn.btn-primary.position-relative .badge { -@endsection \ No newline at end of file +@endsection diff --git a/resources/views/admin/staff/create.blade.php b/resources/views/admin/staff/create.blade.php index b5d81bb..097e7e3 100644 --- a/resources/views/admin/staff/create.blade.php +++ b/resources/views/admin/staff/create.blade.php @@ -4,6 +4,12 @@ @section('content')
- @if(session('success'))
{{ session('success') }} @@ -716,7 +675,7 @@ document.addEventListener('DOMContentLoaded', function() { // Search filter if (searchTerm) { - const matchesSearch = + const matchesSearch = staff.name.toLowerCase().includes(searchTerm) || staff.email.toLowerCase().includes(searchTerm) || (staff.employee_id && staff.employee_id.toLowerCase().includes(searchTerm)) || @@ -893,4 +852,4 @@ function renderTable() { }); } -@endsection \ No newline at end of file +@endsection diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 3cab29d..473a0f4 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -1,36 +0,0 @@ - diff --git a/routes/web.php b/routes/web.php index 865c97b..79d6d8e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -15,7 +15,6 @@ use App\Http\Controllers\Admin\AdminChatController; use Illuminate\Support\Facades\Broadcast; use App\Http\Controllers\ContainerController; - // --------------------------- // Public Front Page // --------------------------- @@ -31,9 +30,9 @@ Broadcast::routes(['middleware' => ['web']]); Route::post('/broadcasting/auth', function (\Illuminate\Http\Request $request) { \Log::info('🎯 Broadcasting Auth Request', [ - 'channel' => $request->input('channel_name'), - 'admin_check'=> auth('admin')->check(), - 'web_check' => auth('web')->check(), + 'channel' => $request->input('channel_name'), + 'admin_check' => auth('admin')->check(), + 'web_check' => auth('web')->check(), ]); if (auth('admin')->check()) { @@ -50,7 +49,6 @@ Route::post('/broadcasting/auth', function (\Illuminate\Http\Request $request) { return response()->json(['message' => 'Unauthenticated'], 403); })->middleware('web'); - // --------------------------- // ADMIN LOGIN ROUTES // --------------------------- @@ -62,7 +60,6 @@ Route::prefix('admin')->group(function () { Broadcast::routes(['middleware' => ['web']]); - // ========================================== // PROTECTED ADMIN ROUTES (session protected) // ========================================== @@ -93,37 +90,35 @@ Route::prefix('admin') [\App\Http\Controllers\Admin\AdminOrderController::class, 'uploadExcelPreview'] )->name('admin.orders.upload.excel.preview'); - - //--------------------------- - // CONTAINER ROUTES - //--------------------------- - // Index + list //--------------------------- // CONTAINER ROUTES //--------------------------- Route::get('/containers', [ContainerController::class, 'index']) ->name('containers.index'); - + Route::get('/containers/create', [ContainerController::class, 'create']) ->name('containers.create'); - + Route::post('/containers', [ContainerController::class, 'store']) ->name('containers.store'); - + Route::get('/containers/{container}', [ContainerController::class, 'show']) ->name('containers.show'); - + Route::post('/containers/{container}/update-rows', [ContainerController::class, 'updateRows']) ->name('containers.rows.update'); - + Route::post('containers/{container}/status', [ContainerController::class, 'updateStatus']) ->name('containers.update-status'); - + Route::delete('/containers/{container}', [ContainerController::class, 'destroy']) ->name('containers.destroy'); + Route::get('containers/{container}/download-pdf', [ContainerController::class, 'downloadPdf']) + ->name('containers.download.pdf'); + + Route::get('/admin/containers/{container}/download-excel', [ContainerController::class, 'downloadExcel']) + ->name('containers.download.excel'); - - // --------------------------- // USER REQUESTS // --------------------------- @@ -149,7 +144,6 @@ Route::prefix('admin') [UserRequestController::class, 'rejectProfileUpdate'] )->name('admin.profile.reject'); - // --------------------------- // MARK LIST // --------------------------- @@ -159,19 +153,15 @@ Route::prefix('admin') Route::get('/mark-list/status/{id}', [AdminMarkListController::class, 'toggleStatus']) ->name('admin.marklist.toggle'); - // --------------------------- // ORDERS (UPDATED) // --------------------------- - // मुख्य Orders पेज (invoice + container listing) Route::get('/orders', [AdminOrderController::class, 'index']) ->name('admin.orders'); - // जुनं list route (असल्या वापरासाठी पण index ला point) Route::get('/orders/list', [AdminOrderController::class, 'index']) ->name('admin.orders.index'); - // Order show (old single order view) Route::get('/orders/{id}', [AdminOrderController::class, 'show']) ->name('admin.orders.show'); @@ -193,7 +183,6 @@ Route::prefix('admin') Route::get('/orders/{id}/see', [AdminOrderController::class, 'see']) ->name('orders.see'); - // --------------------------- // ORDERS (FIXED ROUTES) // --------------------------- @@ -212,7 +201,6 @@ Route::prefix('admin') Route::delete('/orders/{id}/delete', [AdminOrderController::class, 'destroy']) ->name('admin.orders.destroy'); - // --------------------------- // SHIPMENTS (FIXED ROUTES) // --------------------------- @@ -240,7 +228,6 @@ Route::prefix('admin') Route::get('/shipment/dummy/{id}', [ShipmentController::class, 'dummy']) ->name('admin.shipments.dummy'); - // --------------------------- // INVOICES // --------------------------- @@ -271,9 +258,10 @@ Route::prefix('admin') Route::post('/admin/invoices/{invoice}/charge-group', [AdminInvoiceController::class, 'storeChargeGroup']) ->name('admin.invoices.charge-group.store'); - Route::get('/admin/invoices/create', [InvoiceController::class, 'create']) - ->name('admin.invoices.create'); - + // जर create page वापरायचा असेल तर AdminInvoiceController मध्ये create() असावा. + // नसेल तर हा route comment / delete कर. + // Route::get('/admin/invoices/create', [AdminInvoiceController::class, 'create']) + // ->name('admin.invoices.create'); // --------------------------- // CUSTOMERS @@ -293,7 +281,6 @@ Route::prefix('admin') Route::post('/customers/{id}/status', [AdminCustomerController::class, 'toggleStatus']) ->name('admin.customers.status'); - // CHAT Route::get('/chat-support', [AdminChatController::class, 'index']) ->name('admin.chat_support'); @@ -305,7 +292,6 @@ Route::prefix('admin') ->name('admin.chat.send'); }); - // ========================================== // ADMIN ACCOUNT (AJAX) ROUTES // ========================================== @@ -351,7 +337,6 @@ Route::prefix('admin/account') ->name('remove.order.from.entry'); }); - // --------------------------- // REPORTS DOWNLOAD ROUTES // --------------------------- @@ -373,7 +358,7 @@ Route::middleware(['auth:admin']) Route::resource('staff', AdminStaffController::class); }); -// Extra admin prefix group (तसाच ठेवला) +// Extra admin prefix group Route::prefix('admin')->middleware('auth:admin')->group(function () { // ... your routes }); @@ -382,6 +367,14 @@ Route::post('/admin/broadcasting/auth', function () { return Broadcast::auth(request()); })->middleware('auth:admin'); -Route::get('/admin/invoices/{invoice}/download', [InvoiceController::class, 'download']) +// INVOICE DOWNLOAD (AdminInvoiceController वापरून) +Route::get('/admin/invoices/{invoice}/download', [AdminInvoiceController::class, 'download']) ->name('admin.invoices.download'); + + +// CONTAINER POPUP VIEW +// In admin group +Route::get('/admin/containers/{container}/popup', [\App\Http\Controllers\ContainerController::class, 'popupPopup']) + ->name('containers.popup'); + \ No newline at end of file
#Request IDNameCompanyEmailMobileAddressPriorityDateStatusActions
#Request IDNameCompanyEmailMobileAddressPriorityDateStatusActions
{{ $req->mobile_no }} {{ Str::limit($req->address, 30) }} - @if(strtolower($req->priority) == 'high')High - @elseif(strtolower($req->priority) == 'medium')Medium - @elseif(strtolower($req->priority) == 'low')Low - @else{{ $req->priority ?? 'N/A' }}@endif + @if(strtolower($req->priority) == 'high') + High + @elseif(strtolower($req->priority) == 'medium') + Medium + @elseif(strtolower($req->priority) == 'low') + Low + @else + {{ $req->priority ?? 'N/A' }} + @endif {{ $req->date }} - @if($req->status == 'approved')Approved - @elseif($req->status == 'rejected')Rejected - @elsePending@endif + @if($req->status == 'approved') + Approved + @elseif($req->status == 'rejected') + Rejected + @else + Pending + @endif @if($req->status == 'pending') - + Approve - + Reject @else No Action @endif
No records found.