bidder_num; $checkout_list_results = \Illuminate\Support\Facades\DB::select("SELECT *, items.item_assigned_num, items.item_desc FROM winning_bids INNER JOIN items AS items ON winning_bids.winning_item_num=items.iditems WHERE winning_bidder_num = $bidder_num "); $checkout_info_results = \Illuminate\Support\Facades\DB::select("SELECT winning_bids.*, bidders.*, sum(winning_cost) AS total_cost FROM winning_bids INNER JOIN bidders AS bidders ON winning_bids.winning_bidder_num=bidders.idbidders WHERE winning_bidder_num = $bidder_num GROUP BY winning_bids.winning_bidder_num "); $this->printPickupSlip([ 'checkout_final_results' => $checkout, 'checkout_list_results' => $checkout_list_results, 'checkout_info_results' => $checkout_info_results ]); } /** * Print the pickup slip by sending it to the HP ePrint email address. * * @param array $checkoutData * @return void */ public function printPickupSlip($checkoutData) { if (!config('services.printer.enabled')) { Log::info('Auto-print is disabled.'); return; } $printerEmail = config('services.printer.email'); if (empty($printerEmail)) { Log::error('Printer email is not configured.'); return; } try { $options = new Options(); $options->set('isHtml5ParserEnabled', true); $options->set('isRemoteEnabled', true); $dompdf = new Dompdf($options); $html = view('receiptpdf', $checkoutData)->render(); $dompdf->loadHtml($html); $dompdf->setPaper('letter', 'portrait'); $dompdf->render(); $pdfOutput = $dompdf->output(); Mail::to($printerEmail)->send(new \App\Mail\PickupSlipMail($pdfOutput)); Log::info('Pickup slip sent to printer: ' . $printerEmail); } catch (\Exception $e) { Log::error('Failed to print pickup slip: ' . $e->getMessage()); } } }