Create New Item
×
Item Type
File
Folder
Item Name
File Manager
/
bshop
/
log
/
phpqrcode
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php include("../db/cn.php"); ob_start(); // Fetch order details from the database $orderId = isset($_GET['order_id']) ? mysqli_real_escape_string($connection, $_GET['order_id']) : null; $orderDetails = []; $outletName = $loginUser = $userRole = $outletAddress = $dateTime = $totalAmount = $paidBy = $customerName = $customerPhone = $discountedAmount = $discounted = $discountPer = $cashAmount = $changeAmount = $taxAmount = null; if ($orderId) { $query = "SELECT * FROM log_user_sales WHERE order_id = '$orderId' && status = 'refund'"; $result = mysqli_query($connection, $query); if ($result && mysqli_num_rows($result) > 0) { $orderDetails = mysqli_fetch_all($result, MYSQLI_ASSOC); $order = $orderDetails[0]; $outletName = $order['outlet_name']; $loginUser = $order['login_user']; $userRole = $order['user_role']; $outletAddress = $order['outlet_address']; $dateTime = $order['date_time']; $totalAmount = $order['net_amount']; $paidBy = $order['paid_by']; $customerName = $order['customer_name']; $customerPhone = $order['customer_phone']; $discountedAmount = $order['discount_amount']; $discounted = $order['discounted']; $discountPer = $order['discount_per']; $cashAmount = $order['cash_amount']; $changeAmount = $order['change_amount']; $taxAmount = $order['tax_amount']; } } $content = ob_get_clean(); // Capture HTML content // Function to send data to the printer function sendToPrinter($result) { $printerName = "EPSON_TM_T88V_Receipt"; // Change to your printer's name $handle = @fopen("USB", "w"); // LPT1 is commonly used for parallel port printers, change if necessary if (!$handle) { echo "Error opening printer on Windows. Check the printer port and connection."; return; } fwrite($handle, $result); fclose($handle); echo ""; } // Call the print function sendToPrinter($content); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Print Order</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.4.0/jspdf.umd.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/3.5.23/jspdf.plugin.autotable.min.js"></script> <style> @media print { body { width: 72mm; margin: 0; padding: 0; } .container { width: 100%; margin: 0; padding: 0; } .no-print { display: none; } .text-center { text-align: center; } table { width: 100%; border-collapse: collapse; } th, td { border: 1px solid #000; padding: 5px; text-align: center; } .mb-0, .mb-1 { margin-bottom: 5px; } } </style> </head> <body> <div class="container" id="invoice"> <div class="text-center" style="margin-left:10px;"> <img src="img/Amazon Fashion STORE11.png" width="176" height="176" alt="Logo" class="logo"> <h2 style="font-weight:600; text-transform:uppercase;">Amazon Fashion Store</h2> <p class="mb-0" style="font-size:14px;margin-top:5px;text-transform:uppercase;font-weight:600;"> M. Block Near Ex M.N.A Office Arif Bazar <br> Burewala</p> <p class="mb-0" style="margin-top:-2px;font-weight:600;">Muneeb: 0310-6089145</p> <p class="mb-0" style="margin-top:-8px;font-weight:600;">Safi Gujjar: 0303-4993253</p> <p style="margin-top:-3px;"><strong>Date:</strong> <?php echo htmlspecialchars($dateTime); ?> </p> </div> <div> <p style="text-transform:capitalize;"><strong>Name:</strong> <?php echo htmlspecialchars($customerName); ?><br> <strong>Phone:</strong> <?php echo htmlspecialchars($customerPhone); ?><br> <strong>Payment:</strong> <?php echo htmlspecialchars($paidBy); ?><br> <strong>Order ID:</strong> <?php echo htmlspecialchars($orderId); ?></p> </div> <div> <table class="table table-bordered"> <thead> <tr> <th>Product</th> <th>Qty</th> <th>Price</th> <th>Dis</th> <th>PKR</th> </tr> </thead> <tbody> <?php foreach ($orderDetails as $order): ?> <tr> <td><?php echo htmlspecialchars($order['product_name']); ?></td> <td><?php echo htmlspecialchars($order['product_quantity']); ?></td> <td><?php echo htmlspecialchars($order['product_price']); ?></td> <td><?php echo htmlspecialchars($order['discount']); ?></td> <td><?php echo htmlspecialchars($order['net_amount']); ?></td> </tr> <?php endforeach; ?> </tbody> </table> </div> <?php $sub = mysqli_query($connection, "SELECT SUM(net_amount) AS sub FROM log_user_sales WHERE order_id = '$orderId' && status = 'refund'"); $rowSub = mysqli_fetch_array($sub); ?> <div> <p><strong>Sub:</strong> Rs <?php echo htmlspecialchars($rowSub["sub"]); ?> /-<br> <strong>Disc:</strong> Rs <?php echo htmlspecialchars($discounted); ?> /-<br> <strong>Total:</strong> Rs <?php echo htmlspecialchars($discountedAmount) . ".00"; ?> /-<br> <strong>Cash:</strong> Rs <?php echo htmlspecialchars($cashAmount) . ".00"; ?> /-<br> <strong>Change:</strong> Rs <?php echo htmlspecialchars($changeAmount) ; ?> /-<br> </div> <div> <p>Generated By: Amazon Fashion Store</p> </div> <div> <h3>Notes:</h3> <p>1. Exchanges are accepted within 7 days from the date of purchase.<br> 2. Items must be unworn, unwashed, and in their original condition with all tags attached.<br> 3. A valid receipt or proof of purchase is required for all exchanges.</p> <h3 style="text-align:center;">Thanks For Visiting.</h3> </div> <div class="text-center no-print"> <button class="no-print btn btn-primary" onclick="window.print()">Print</button> <button class="no-print btn btn-success" onclick="downloadPDF()">Download PDF</button> <button class="no-print btn btn-secondary" onclick="window.location.href='mainpos.php'">Exit</button> </div> </div> </body> <script> function downloadPDF() { // Import jsPDF const { jsPDF } = window.jspdf; const doc = new jsPDF('p', 'mm', 'a4'); // Add the logo const img = new Image(); img.src = 'img/Amazon Fashion STORE11.png'; img.onload = function () { // Adding the logo doc.addImage(img, 'PNG', 10, 10, 40, 40); // Add the store name and other details doc.setFontSize(18); doc.text('Amazon Fashion Store', 60, 20); doc.setFontSize(12); doc.text('M. Block Near Ex M.N.A Office Arif Bazar, Burewala', 60, 30); doc.text('Muneeb: 0310-6089145, Safi Gujjar: 0303-4993253', 60, 40); doc.text('Date: <?php echo htmlspecialchars($dateTime); ?>', 60, 50); // Add customer details doc.setFontSize(14); doc.text('Customer Details', 10, 70); doc.setFontSize(12); doc.text('Name: <?php echo htmlspecialchars($customerName); ?>', 10, 80); doc.text('Phone: <?php echo htmlspecialchars($customerPhone); ?>', 10, 90); doc.text('Payment: <?php echo htmlspecialchars($paidBy); ?>', 10, 100); doc.text('Order ID: <?php echo htmlspecialchars($orderId); ?>', 10, 110); // Add the table header doc.setFontSize(14); doc.text('Order Details', 10, 130); doc.setFontSize(12); doc.autoTable({ startY: 140, head: [['Product', 'Qty', 'Price', 'Dis', 'PKR']], body: [ <?php foreach ($orderDetails as $order): ?> ['<?php echo htmlspecialchars($order['product_name']); ?>', '<?php echo htmlspecialchars($order['product_quantity']); ?>', '<?php echo htmlspecialchars($order['product_price']); ?>', '<?php echo htmlspecialchars($order['discount']); ?>', '<?php echo htmlspecialchars($order['net_amount']); ?>'], <?php endforeach; ?> ], theme: 'grid' }); // Add totals let finalY = doc.lastAutoTable.finalY + 10; doc.setFontSize(14); doc.text('Summary', 10, finalY); doc.setFontSize(12); finalY += 10; doc.text('Sub: Rs <?php echo htmlspecialchars($rowSub["sub"]); ?> /-', 10, finalY); finalY += 10; doc.text('Disc: Rs <?php echo htmlspecialchars($discounted); ?> /-', 10, finalY); finalY += 10; doc.text('Total: Rs <?php echo htmlspecialchars($discountedAmount) . ".00"; ?> /-', 10, finalY); finalY += 10; doc.text('Cash: Rs <?php echo htmlspecialchars($cashAmount) . ".00"; ?> /-', 10, finalY); finalY += 10; doc.text('Change: Rs <?php echo htmlspecialchars($changeAmount); ?> /-', 10, finalY); // Add footer finalY += 20; doc.text('Generated By: Amazon Fashion Store', 10, finalY); finalY += 10; doc.setFontSize(10); doc.text('Notes:', 10, finalY); finalY += 10; doc.text('1. Exchanges are accepted within 7 days from the date of purchase.', 10, finalY); finalY += 10; doc.text('2. Items must be unworn, unwashed, and in their original condition with all tags attached.', 10, finalY); finalY += 10; doc.text('3. A valid receipt or proof of purchase is required for all exchanges.', 10, finalY); finalY += 10; doc.text('Thanks For Visiting.', 60, finalY + 20, 'center'); // Save the PDF with the name 'invoice.pdf' doc.save('invoice.pdf'); }; } </script> </html>