diff --git a/app/Http/Controllers/ProductionOrderController.php b/app/Http/Controllers/ProductionOrderController.php new file mode 100644 index 0000000..699184c --- /dev/null +++ b/app/Http/Controllers/ProductionOrderController.php @@ -0,0 +1,92 @@ +first(); + + if (!$order) { + abort(404, 'Production Order not found'); + } + else{ + $fromSerial = (int) $order->from_serial_number; + $toSerial = (int) $order->to_serial_number; + $itemCode = $order->item->code ?? ''; + $itemDes = $order->item->description ?? ''; + + $stickers = []; + + for ($i = $fromSerial; $i <= $toSerial; $i++) + { + + $serial = str_pad($i, 6, '0', STR_PAD_LEFT); + + $qrData = $itemCode . '|' . $serial; + + $qrBase64 = base64_encode( + QrCode::format('png')->size(100)->generate($qrData) + ); + + $stickers[] = [ + 'serial' => $serial, + 'qr' => 'data:image/png;base64,' . $qrBase64, + 'production_order' => $production_order, + 'description' => $itemDes ?? '' + ]; + } + + $pdf = Pdf::loadView('production-orders.print', compact('stickers')) + ->setPaper([0, 0, 170, 40]); + + return $pdf->stream('stickers.pdf'); + } + } + + /** + * Store a newly created resource in storage. + */ + public function store(Request $request) + { + // + } + + /** + * Display the specified resource. + */ + public function show(string $id) + { + // + } + + /** + * Update the specified resource in storage. + */ + public function update(Request $request, string $id) + { + // + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(string $id) + { + // + } +} diff --git a/resources/views/forms/components/save-production-order-button.php b/resources/views/forms/components/save-production-order-button.php new file mode 100644 index 0000000..2fe9553 --- /dev/null +++ b/resources/views/forms/components/save-production-order-button.php @@ -0,0 +1,16 @@ + + + + diff --git a/resources/views/production-orders/print.blade.php b/resources/views/production-orders/print.blade.php new file mode 100644 index 0000000..f2b068a --- /dev/null +++ b/resources/views/production-orders/print.blade.php @@ -0,0 +1,105 @@ + + +
+ + + + +@foreach($stickers as $sticker) +|
+ |
+
+ {{ $sticker['serial'] }}
+ {{ $sticker['production_order'] }}
+ {{ $sticker['description'] }}
+ |
+