excel import

This commit is contained in:
Abhishek Mali
2025-12-23 12:22:35 +05:30
parent 451be1a533
commit 4637f0b189
4 changed files with 146 additions and 39 deletions

View File

@@ -13,6 +13,11 @@ use App\Models\User;
use PDF;
use Maatwebsite\Excel\Facades\Excel;
use App\Exports\OrdersExport;
use App\Imports\OrderItemsPreviewImport;
use Illuminate\Validation\ValidationException;
class AdminOrderController extends Controller
{
@@ -36,44 +41,6 @@ class AdminOrderController extends Controller
return view('admin.orders_create', compact('markList'));
}
// public function store(Request $request)
// {
// $data = $request->validate([
// 'mark_no' => 'required|string',
// 'origin' => 'nullable|string',
// 'destination' => 'nullable|string',
// 'ctn' => 'nullable|numeric',
// 'qty' => 'nullable|numeric',
// 'ttl_qty' => 'nullable|numeric',
// 'ttl_amount' => 'nullable|numeric',
// 'cbm' => 'nullable|numeric',
// 'ttl_cbm' => 'nullable|numeric',
// 'kg' => 'nullable|numeric',
// 'ttl_kg' => 'nullable|numeric',
// ]);
// $order = Order::create([
// 'order_id' => $this->generateOrderId(),
// 'mark_no' => $data['mark_no'],
// 'origin' => $data['origin'] ?? null,
// 'destination'=> $data['destination'] ?? null,
// 'ctn' => $data['ctn'] ?? 0,
// 'qty' => $data['qty'] ?? 0,
// 'ttl_qty' => $data['ttl_qty'] ?? 0,
// 'ttl_amount' => $data['ttl_amount'] ?? 0,
// 'cbm' => $data['cbm'] ?? 0,
// 'ttl_cbm' => $data['ttl_cbm'] ?? 0,
// 'kg' => $data['kg'] ?? 0,
// 'ttl_kg' => $data['ttl_kg'] ?? 0,
// 'status' => 'pending',
// ]);
// $this->createInvoice($order);
// return redirect()->route('admin.orders.show', $order->id)
// ->with('success', 'Order created successfully.');
// }
/* ---------------------------
* SHOW / POPUP
* ---------------------------*/
@@ -723,4 +690,36 @@ class AdminOrderController extends Controller
]);
}
}
public function uploadExcelPreview(Request $request)
{
try {
$request->validate([
'excel' => 'required|file|mimes:xlsx,xls'
]);
$import = new OrderItemsPreviewImport();
Excel::import($import, $request->file('excel'));
return response()->json([
'success' => true,
'items' => $import->rows
]);
} catch (ValidationException $e) {
return response()->json([
'success' => false,
'message' => 'Invalid Excel file format'
], 422);
} catch (\Throwable $e) {
\Log::error($e);
return response()->json([
'success' => false,
'message' => 'Server error'
], 500);
}
}
}