Add Container field

This commit is contained in:
Utkarsh Khedkar
2026-02-17 14:32:48 +05:30
parent 0a65d5f596
commit 94e211f87e
49 changed files with 8989 additions and 1290 deletions

View File

@@ -92,7 +92,7 @@ class AdminOrderController extends Controller
]);
//If you want to auto-create an invoice at order creation, uncomment:
$this->createInvoice($order);
// $this->createInvoice($order);
return redirect()->route('admin.orders.show', $order->id)
->with('success', 'Order created successfully.');
@@ -148,7 +148,7 @@ class AdminOrderController extends Controller
// recalc totals and save to order
$this->recalcTotals($order);
$this->updateInvoiceFromOrder($order); // <-- NEW
// $this->updateInvoiceFromOrder($order); // <-- NEW
return redirect()->back()->with('success', 'Item added and totals updated.');
}
@@ -594,70 +594,70 @@ class AdminOrderController extends Controller
// =======================
// 1. Auto-generate invoice number
$lastInvoice = \App\Models\Invoice::latest()->first();
$nextInvoice = $lastInvoice ? $lastInvoice->id + 1 : 1;
$invoiceNumber = 'INV-' . date('Y') . '-' . str_pad($nextInvoice, 6, '0', STR_PAD_LEFT);
// $lastInvoice = \App\Models\Invoice::latest()->first();
// $nextInvoice = $lastInvoice ? $lastInvoice->id + 1 : 1;
// $invoiceNumber = 'INV-' . date('Y') . '-' . str_pad($nextInvoice, 6, '0', STR_PAD_LEFT);
// 2. Fetch customer (using mark list → customer_id)
$markList = MarkList::where('mark_no', $order->mark_no)->first();
$customer = null;
// $markList = MarkList::where('mark_no', $order->mark_no)->first();
// $customer = null;
if ($markList && $markList->customer_id) {
$customer = \App\Models\User::where('customer_id', $markList->customer_id)->first();
}
// if ($markList && $markList->customer_id) {
// $customer = \App\Models\User::where('customer_id', $markList->customer_id)->first();
// }
// 3. Create Invoice Record
$invoice = \App\Models\Invoice::create([
'order_id' => $order->id,
'customer_id' => $customer->id ?? null,
'mark_no' => $order->mark_no,
// $invoice = \App\Models\Invoice::create([
// 'order_id' => $order->id,
// 'customer_id' => $customer->id ?? null,
// 'mark_no' => $order->mark_no,
'invoice_number' => $invoiceNumber,
'invoice_date' => now(),
'due_date' => now()->addDays(10),
// 'invoice_number' => $invoiceNumber,
// 'invoice_date' => now(),
// 'due_date' => now()->addDays(10),
'payment_method' => null,
'reference_no' => null,
'status' => 'pending',
// 'payment_method' => null,
// 'reference_no' => null,
// 'status' => 'pending',
'final_amount' => $total_amount,
'gst_percent' => 0,
'gst_amount' => 0,
'final_amount_with_gst' => $total_amount,
// 'final_amount' => $total_amount,
// 'gst_percent' => 0,
// 'gst_amount' => 0,
// 'final_amount_with_gst' => $total_amount,
// snapshot customer fields
'customer_name' => $customer->customer_name ?? null,
'company_name' => $customer->company_name ?? null,
'customer_email' => $customer->email ?? null,
'customer_mobile' => $customer->mobile_no ?? null,
'customer_address' => $customer->address ?? null,
'pincode' => $customer->pincode ?? null,
// // snapshot customer fields
// 'customer_name' => $customer->customer_name ?? null,
// 'company_name' => $customer->company_name ?? null,
// 'customer_email' => $customer->email ?? null,
// 'customer_mobile' => $customer->mobile_no ?? null,
// 'customer_address' => $customer->address ?? null,
// 'pincode' => $customer->pincode ?? null,
'notes' => null,
]);
// 'notes' => null,
// ]);
// 4. Clone order items into invoice_items
foreach ($order->items as $item) {
\App\Models\InvoiceItem::create([
'invoice_id' => $invoice->id,
'description' => $item->description,
'ctn' => $item->ctn,
'qty' => $item->qty,
'ttl_qty' => $item->ttl_qty,
'unit' => $item->unit,
'price' => $item->price,
'ttl_amount' => $item->ttl_amount,
'cbm' => $item->cbm,
'ttl_cbm' => $item->ttl_cbm,
'kg' => $item->kg,
'ttl_kg' => $item->ttl_kg,
'shop_no' => $item->shop_no,
]);
}
// foreach ($order->items as $item) {
// \App\Models\InvoiceItem::create([
// 'invoice_id' => $invoice->id,
// 'description' => $item->description,
// 'ctn' => $item->ctn,
// 'qty' => $item->qty,
// 'ttl_qty' => $item->ttl_qty,
// 'unit' => $item->unit,
// 'price' => $item->price,
// 'ttl_amount' => $item->ttl_amount,
// 'cbm' => $item->cbm,
// 'ttl_cbm' => $item->ttl_cbm,
// 'kg' => $item->kg,
// 'ttl_kg' => $item->ttl_kg,
// 'shop_no' => $item->shop_no,
// ]);
// }
// 5. TODO: PDF generation (I will add this later)
$invoice->pdf_path = null; // placeholder for now
$invoice->save();
// $invoice->pdf_path = null; // placeholder for now
// $invoice->save();
// =======================
// END INVOICE CREATION