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) // ); $qrCode = new QrCode($qrData); $output = new Output\Png; $qrBinary = $output->output($qrCode, 100); $qrBase64 = base64_encode($qrBinary); $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'); } } public function printpanel($production_order, $plantCode){ $order = ProductionOrder::where('production_order', $production_order)->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 ?? ''; $now = Carbon::now(); $year = $now->format('y'); $month = $now->format('m'); $stickers = []; for ($i = $fromSerial; $i <= $toSerial; $i++) { $serial = str_pad($i, 6, '0', STR_PAD_LEFT); $serialCount = substr(str_pad($i, 6, '0', STR_PAD_LEFT), -6); $qrData = $plantCode . '/' . $itemCode . '/' . $year.$month . '/' . $serialCount; $panel = $plantCode . '/' . $itemCode . '/' . $year.$month . '/' . $serialCount; $qrCode = new QrCode($qrData); $output = new Output\Png; $qrBinary = $output->output($qrCode, 100); $qrBase64 = base64_encode($qrBinary); $stickers[] = [ 'serial' => $panel, 'qr' => 'data:image/png;base64,' . $qrBase64, 'production_order' => $production_order, 'description' => $itemDes ?? '' ]; } $pdf = Pdf::loadView('production-orders.printpanel', compact('stickers')) ->setPaper([0, 0, 113.39, 113.39]); 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) { // } }