<?php
session_start();

// التحقق من تسجيل الدخول
if (!isset($_SESSION['user_id'])) {
    header("Location: index.php");
    exit();
}

require_once 'db_connect.php';

// جلب بيانات المحل من جدول settings
$store_settings = [];
try {
    $stmt = $conn->query("SELECT * FROM settings LIMIT 1");
    $store_settings = $stmt->fetch(PDO::FETCH_ASSOC) ?: [];
} catch (PDOException $e) {
    error_log("Error fetching store settings: " . $e->getMessage());
    $store_settings = ['store_name' => 'Astra', 'phone' => '', 'address' => '', 'logo' => ''];
}

// جلب الفاتورة بناءً على رقم الفاتورة
$invoice = null;
$invoice_items = [];
$invoice_id = isset($_GET['invoice_id']) ? intval($_GET['invoice_id']) : (isset($_POST['invoice_id']) ? intval($_POST['invoice_id']) : 0);
$treasury_error = '';
$items_error = '';

if ($invoice_id > 0) {
    try {
        // جلب بيانات الفاتورة مع اسم العميل والمدفوع والمتبقي
        $stmt = $conn->prepare("
            SELECT si.id, si.final_total, si.treasury_id, si.paid_amount, si.remaining_amount, 
                   c.name AS customer_name, t.name AS treasury_name,
                   si.date, si.invoice_number, u.username AS user_name
            FROM sales_invoices si 
            LEFT JOIN treasuries t ON si.treasury_id = t.id 
            LEFT JOIN clients c ON si.client_id = c.id 
            LEFT JOIN users u ON si.user_id = u.id
            WHERE si.id = :invoice_id
        ");
        $stmt->execute([':invoice_id' => $invoice_id]);
        $invoice = $stmt->fetch(PDO::FETCH_ASSOC);

        // جلب تفاصيل المنتجات في الفاتورة مع الكمية المتبقية من items
        if ($invoice) {
            if (!$invoice['treasury_id'] || !$invoice['treasury_name']) {
                $treasury_error = "الفاتورة موجودة ولكن الخزنة المرتبطة غير موجودة. يرجى تعديل الخزنة في الفاتورة.";
                $invoice = null;
            } else {
                $stmt = $conn->prepare("
                    SELECT 
                        sii.id, sii.item_id, sii.quantity AS sold_quantity, sii.price, 
                        i.name AS product_name, i.quantity AS current_quantity,
                        COALESCE(SUM(sri.quantity), 0) AS returned_quantity
                    FROM sales_invoice_items sii 
                    LEFT JOIN items i ON sii.item_id = i.id 
                    LEFT JOIN sales_return_items sri ON sri.item_id = sii.item_id 
                        AND sri.return_id IN (SELECT id FROM sales_returns WHERE invoice_id = :invoice_id)
                    WHERE sii.invoice_id = :invoice_id
                    GROUP BY sii.id, sii.item_id, sii.quantity, sii.price, i.name, i.quantity
                ");
                $stmt->execute([':invoice_id' => $invoice_id]);
                $invoice_items = $stmt->fetchAll(PDO::FETCH_ASSOC);

                // التحقق من وجود عناصر في الفاتورة
                if (empty($invoice_items)) {
                    $items_error = "لا توجد منتجات مرتبطة بهذه الفاتورة! يرجى التحقق من تفاصيل الفاتورة.";
                }
            }
        }
    } catch (PDOException $e) {
        error_log("Error fetching invoice: " . $e->getMessage());
        $invoice = null;
    }
}

// معالجة حفظ مرتجع البيع
$success_message = isset($_SESSION['success_message']) ? $_SESSION['success_message'] : '';
$error_message = '';
$return_data = isset($_SESSION['return_data']) ? $_SESSION['return_data'] : null;

if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['save_return'])) {
    $invoice_id = intval($_POST['invoice_id']);
    $treasury_id = intval($_POST['treasury_id']);
    $return_date = trim($_POST['return_date']);
    $quantities = $_POST['quantities'] ?? [];

    // حساب المبلغ المرتجع وجمع بيانات الأصناف المرتجعة
    $total_return_amount = 0;
    $returned_items = [];
    $debug_message = '';
    foreach ($invoice_items as $item) {
        $return_quantity = isset($quantities[$item['id']]) ? intval($quantities[$item['id']]) : 0;
        $debug_message .= "Item ID: {$item['id']}, Return Quantity: $return_quantity, Sold: {$item['sold_quantity']}, Returned: {$item['returned_quantity']}, Current: {$item['current_quantity']}<br>";
        if ($return_quantity > 0 && $return_quantity <= ($item['sold_quantity'] - $item['returned_quantity'])) {
            $item_total = $return_quantity * $item['price'];
            $total_return_amount += $item_total;
            $returned_items[] = [
                'name' => $item['product_name'],
                'quantity' => $return_quantity,
                'price' => floatval($item['price']), // تحويل إلى رقم عشري
                'total' => floatval($item_total)    // تحويل إلى رقم عشري
            ];
            $debug_message .= "Added to total: " . ($return_quantity * $item['price']) . "<br>";
        } else {
            $debug_message .= "Invalid quantity for item {$item['id']}<br>";
        }
    }

    if ($invoice_id > 0 && $treasury_id > 0 && $total_return_amount > 0 && !empty($return_date)) {
        try {
            $conn->beginTransaction();

            // تسجيل مرتجع البيع
            $stmt = $conn->prepare("INSERT INTO sales_returns (invoice_id, treasury_id, amount, return_date) VALUES (:invoice_id, :treasury_id, :amount, :return_date)");
            $stmt->execute([
                ':invoice_id' => $invoice_id,
                ':treasury_id' => $treasury_id,
                ':amount' => $total_return_amount,
                ':return_date' => $return_date
            ]);
            $return_id = $conn->lastInsertId();

            // تسجيل تفاصيل المرتجعات
            foreach ($invoice_items as $item) {
                $return_quantity = isset($quantities[$item['id']]) ? intval($quantities[$item['id']]) : 0;
                if ($return_quantity > 0 && $return_quantity <= ($item['sold_quantity'] - $item['returned_quantity'])) {
                    $stmt = $conn->prepare("INSERT INTO sales_return_items (return_id, item_id, quantity, unit_price) VALUES (:return_id, :item_id, :quantity, :unit_price)");
                    $stmt->execute([
                        ':return_id' => $return_id,
                        ':item_id' => $item['item_id'],
                        ':quantity' => $return_quantity,
                        ':unit_price' => $item['price']
                    ]);
                }
            }

            // تحديث المخزون في جدول items
            foreach ($invoice_items as $item) {
                $return_quantity = isset($quantities[$item['id']]) ? intval($quantities[$item['id']]) : 0;
                if ($return_quantity > 0 && $return_quantity <= ($item['sold_quantity'] - $item['returned_quantity'])) {
                    $stmt = $conn->prepare("UPDATE items SET quantity = quantity + :quantity WHERE id = :item_id");
                    $stmt->execute([
                        ':quantity' => $return_quantity,
                        ':item_id' => $item['item_id']
                    ]);
                }
            }

            // خصم المبلغ من الخزنة
            $stmt = $conn->prepare("UPDATE treasuries SET current_balance = current_balance - :amount WHERE id = :treasury_id AND current_balance >= :amount");
            $stmt->execute([':amount' => $total_return_amount, ':treasury_id' => $treasury_id]);
            if ($stmt->rowCount() == 0) {
                throw new Exception("رصيد الخزنة غير كافٍ أو حدث خطأ في الخصم!");
            }

            // تسجيل العملية في treasury_transactions
            $description = "مرتجع بيع للفاتورة #$invoice_id";
            $stmt = $conn->prepare("INSERT INTO treasury_transactions (treasury_id, amount, transaction_type, description, date) VALUES (:treasury_id, :amount, 'withdrawal', :description, :date)");
            $stmt->execute([
                ':treasury_id' => $treasury_id,
                ':amount' => $total_return_amount,
                ':description' => $description,
                ':date' => $return_date
            ]);

            $conn->commit();

            // حفظ بيانات المرتجع للطباعة
            $return_data = [
                'return_id' => $return_id,
                'invoice_number' => $invoice['invoice_number'],
                'date' => $return_date,
                'client_name' => $invoice['customer_name'] ?? 'غير محدد',
                'user_name' => $invoice['user_name'],
                'items' => $returned_items,
                'total' => floatval($total_return_amount) // تحويل إلى رقم عشري
            ];
            $_SESSION['return_data'] = $return_data;
            $_SESSION['success_message'] = "تم تسجيل مرتجع البيع بنجاح وخصم المبلغ من الخزنة!";

            header("Location: sales_return.php?invoice_id=$invoice_id");
            exit();
        } catch (PDOException $e) {
            $conn->rollBack();
            error_log("Error saving sales return: " . $e->getMessage());
            $error_message = "فشل تسجيل مرتجع البيع: " . $e->getMessage();
        } catch (Exception $e) {
            $conn->rollBack();
            error_log("Error: " . $e->getMessage());
            $error_message = $e->getMessage();
        }
    } else {
        $error_message = "فشل الحفظ: التحقق: Invoice ID = $invoice_id, Treasury ID = $treasury_id, Total = $total_return_amount, Date = '$return_date'. <br>تفاصيل: $debug_message";
    }
}
// حذف بيانات الجلسة بعد عرض الرسالة والزر
if ($success_message && $return_data) {
    unset($_SESSION['success_message']);
    unset($_SESSION['return_data']);
}
?>

<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Astra - مرتجع البيع</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <style>
        body {
            margin: 0;
            padding: 0;
            min-height: 100vh;
            direction: rtl;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, #2ECC71, #3498DB, #E74C3C);
            overflow-x: hidden;
            animation: gradientShift 10s ease infinite;
            background-size: 400% 400%;
        }

        @keyframes gradientShift {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        .container-fluid {
            padding: 20px;
            height: 100vh;
            display: flex;
            flex-direction: column;
        }

        .card {
            background: rgba(255, 255, 255, 0.95);
            border-radius: 20px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            padding: 20px;
            margin-bottom: 20px;
            animation: fadeIn 1s ease-in-out;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        h2 {
            color: #2ECC71;
            font-weight: bold;
            text-align: center;
            margin-bottom: 20px;
            text-shadow: 0 0 5px rgba(46, 204, 113, 0.5);
        }

        .form-label {
            color: #3498DB;
            font-weight: bold;
            margin-bottom: 5px;
            display: flex;
            align-items: center;
            font-size: 0.9rem;
        }

        .form-label i {
            margin-left: 8px;
            color: #2ECC71;
        }

        .form-control, .form-select {
            border-radius: 10px;
            border: 2px solid #2ECC71;
            padding: 6px 10px;
            background: rgba(255, 255, 255, 0.8);
            transition: all 0.3s ease;
            box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.1);
            font-size: 0.9rem;
        }

        .form-control:focus, .form-select:focus {
            border-color: #3498DB;
            box-shadow: 0 0 10px rgba(52, 152, 219, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.1);
            background: #fff;
        }

        .btn {
            border-radius: 10px;
            padding: 6px 15px;
            font-weight: bold;
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
            font-size: 0.9rem;
        }

        .btn-search {
            background: linear-gradient(45deg, #3498DB, #2980B9);
            border: none;
            color: #fff;
        }

        .btn-search:hover {
            background: linear-gradient(45deg, #2980B9, #2471A3);
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(52, 152, 219, 0.5);
        }

        .btn-save {
            background: linear-gradient(45deg, #2ECC71, #27AE60);
            border: none;
            color: #fff;
        }

        .btn-save:hover {
            background: linear-gradient(45deg, #27AE60, #219653);
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(46, 204, 113, 0.5);
        }

        .btn-back {
            background: linear-gradient(45deg, #9B59B6, #8E44AD);
            border: none;
            color: #fff;
        }

        .btn-back:hover {
            background: linear-gradient(45deg, #8E44AD, #7D3C98);
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(155, 89, 182, 0.5);
        }

        .btn-print {
            background: linear-gradient(45deg, #F1C40F, #D4AC0D);
            border: none;
            color: #fff;
        }

        .btn-print:hover {
            background: linear-gradient(45deg, #D4AC0D, #B7950B);
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(241, 196, 15, 0.5);
        }

        .btn i {
            margin-left: 8px;
        }

        .table {
            background: #fff;
            border-radius: 10px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            width: 100%;
        }

        .table thead {
            background: #2ECC71;
            color: #fff;
        }

        .table tbody tr:hover {
            background: rgba(46, 204, 113, 0.1);
        }
    </style>
</head>
<body>
    <div class="container-fluid">
        <div class="card">
            <h2><i class="fas fa-undo me-2"></i> مرتجع البيع</h2>
            <?php if (!empty($success_message)): ?>
                <div class="success-message" style="color: #2ECC71; text-align: center; margin-bottom: 20px;">
                    <?php echo $success_message; ?>
                    <?php if ($return_data): ?>
                        <button type="button" class="btn btn-print" onclick="printReturn()"><i class="fas fa-print"></i> طباعة فاتورة المرتجع</button>
                    <?php endif; ?>
                </div>
            <?php endif; ?>
            <?php if (!empty($error_message)): ?>
                <div class="error-message" style="color: #E74C3C; text-align: center; margin-bottom: 20px;">
                    <?php echo nl2br($error_message); ?>
                </div>
            <?php endif; ?>
            <?php if (!empty($treasury_error)): ?>
                <div class="error-message" style="color: #E74C3C; text-align: center; margin-bottom: 20px;">
                    <?php echo $treasury_error; ?>
                </div>
            <?php endif; ?>
            <?php if (!empty($items_error)): ?>
                <div class="error-message" style="color: #E74C3C; text-align: center; margin-bottom: 20px;">
                    <?php echo $items_error; ?>
                </div>
            <?php endif; ?>

            <!-- نموذج البحث عن الفاتورة -->
            <form method="GET" class="row g-3 mb-4">
                <div class="col-md-3">
                    <label class="form-label"><i class="fas fa-file-invoice"></i> رقم الفاتورة</label>
                    <input type="number" class="form-control" name="invoice_id" value="<?php echo $invoice_id ?: ''; ?>" required>
                </div>
                <div class="col-md-2 d-flex align-items-end">
                    <button type="submit" class="btn btn-search w-100"><i class="fas fa-search"></i> جلب الفاتورة</button>
                </div>
            </form>

            <?php if ($invoice && empty($items_error)): ?>
                <form method="POST" class="row g-3">
                    <input type="hidden" name="invoice_id" value="<?php echo $invoice['id']; ?>">
                    <input type="hidden" name="treasury_id" value="<?php echo $invoice['treasury_id']; ?>">

                    <div class="col-md-3">
                        <label class="form-label"><i class="fas fa-user"></i> اسم العميل</label>
                        <input type="text" class="form-control" value="<?php echo htmlspecialchars($invoice['customer_name'] ?? 'غير محدد'); ?>" readonly>
                    </div>
                    <div class="col-md-3">
                        <label class="form-label"><i class="fas fa-lock"></i> الخزنة</label>
                        <input type="text" class="form-control" value="<?php echo htmlspecialchars($invoice['treasury_name']); ?>" readonly>
                    </div>
                    <div class="col-md-3">
                        <label class="form-label"><i class="fas fa-money-bill"></i> المبلغ الكلي للفاتورة</label>
                        <input type="text" class="form-control" value="<?php echo number_format($invoice['final_total'], 2); ?> ج.م" readonly>
                    </div>
                    <div class="col-md-3">
                        <label class="form-label"><i class="fas fa-money-check"></i> المدفوع</label>
                        <input type="text" class="form-control" value="<?php echo number_format($invoice['paid_amount'], 2); ?> ج.م" readonly>
                    </div>
                    <div class="col-md-3">
                        <label class="form-label"><i class="fas fa-money-bill-wave"></i> المتبقي</label>
                        <input type="text" class="form-control" value="<?php echo number_format($invoice['remaining_amount'], 2); ?> ج.م" readonly>
                    </div>
                    <div class="col-md-3">
                        <label class="form-label"><i class="fas fa-calendar-day"></i> تاريخ المرتجع</label>
                        <input type="date" class="form-control" name="return_date" value="<?php echo date('Y-m-d'); ?>" required>
                    </div>

                    <!-- جدول المنتجات -->
                    <div class="table-responsive mt-3">
                        <table class="table table-striped">
                            <thead>
                                <tr>
                                    <th>اسم المنتج</th>
                                    <th>الكمية المباعة</th>
                                    <th>الكمية المرتجعة</th>
                                    <th>الكمية المتبقية</th>
                                    <th>الكمية الحالية</th>
                                    <th>سعر الوحدة</th>
                                    <th>الإجمالي</th>
                                    <th>الكمية المرتجعة (جديد)</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php foreach ($invoice_items as $item): ?>
                                    <?php $remaining_quantity = $item['sold_quantity'] - $item['returned_quantity']; ?>
                                    <tr>
                                        <td><?php echo htmlspecialchars($item['product_name'] ?? 'غير معروف'); ?></td>
                                        <td><?php echo htmlspecialchars($item['sold_quantity']); ?></td>
                                        <td><?php echo htmlspecialchars($item['returned_quantity']); ?></td>
                                        <td><?php echo htmlspecialchars($remaining_quantity); ?></td>
                                        <td><?php echo htmlspecialchars($item['current_quantity']); ?></td>
                                        <td><?php echo number_format($item['price'], 2); ?> ج.م</td>
                                        <td><?php echo number_format($item['sold_quantity'] * $item['price'], 2); ?> ج.م</td>
                                        <td>
                                            <input type="number" class="form-control" name="quantities[<?php echo $item['id']; ?>]" min="0" max="<?php echo $remaining_quantity; ?>" value="0">
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            </tbody>
                        </table>
                    </div>

                    <div class="col-md-12 text-center mt-3">
                        <button type="submit" class="btn btn-save" name="save_return"><i class="fas fa-save"></i> حفظ المرتجع</button>
                    </div>
                </form>
            <?php elseif ($invoice_id > 0 && empty($items_error)): ?>
                <div style="color: #E74C3C; text-align: center; margin-bottom: 20px;">
                    لم يتم العثور على فاتورة بهذا الرقم! تأكد من الرقم أو أضف فاتورة أولاً.
                </div>
            <?php endif; ?>

            <div class="text-center mt-3">
                <button class="btn btn-back" onclick="window.location.href='dashboard.php'"><i class="fas fa-arrow-right"></i> العودة إلى لوحة التحكم</button>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <script>
    function printReturn() {
        // جلب البيانات من PHP
        const returnId = '<?php echo $return_data['return_id'] ?? ''; ?>';
        const invoiceNumber = '<?php echo $return_data['invoice_number'] ?? ''; ?>';
        const date = '<?php echo $return_data['date'] ?? ''; ?>';
        const clientName = '<?php echo htmlspecialchars($return_data['client_name'] ?? 'غير محدد'); ?>';
        const userName = '<?php echo htmlspecialchars($return_data['user_name'] ?? ''); ?>';
        const itemsData = <?php echo json_encode($return_data['items'] ?? []); ?>;
        const total = '<?php echo number_format($return_data['total'] ?? 0, 2); ?>';

        // جلب بيانات المحل من PHP
        const storeName = '<?php echo htmlspecialchars($store_settings['store_name'] ?? 'Astra'); ?>';
        const storePhone = '<?php echo htmlspecialchars($store_settings['phone'] ?? ''); ?>';
        const storeAddress = '<?php echo htmlspecialchars($store_settings['address'] ?? ''); ?>';
        const storeLogo = '<?php echo !empty($store_settings['logo']) ? "uploads/" . htmlspecialchars($store_settings['logo']) : ''; ?>';

        // تصحيح أخطاء: طباعة البيانات في وحدة التحكم
        console.log('Return ID:', returnId);
        console.log('Invoice Number:', invoiceNumber);
        console.log('Date:', date);
        console.log('Client Name:', clientName);
        console.log('User Name:', userName);
        console.log('Items Data:', itemsData);
        console.log('Total:', total);
        console.log('Store Logo:', storeLogo);

        // التحقق من وجود عناصر في itemsData
        if (!Array.isArray(itemsData) || itemsData.length === 0) {
            alert('لا توجد عناصر للطباعة! يرجى التحقق من بيانات المرتجع.');
            return;
        }

        // إنشاء نافذة الطباعة
        const printWindow = window.open('', 'PRINT', 'height=400,width=600');
        if (!printWindow) {
            console.error('Failed to open print window. It might be blocked by the browser.');
            alert('فشل فتح نافذة الطباعة. قد تكون محظورة بواسطة المتصفح.');
            return;
        }

        // كتابة محتوى HTML في النافذة
        printWindow.document.write(`
            <html dir="rtl">
            <head>
                <title>فاتورة مرتجع البيع #${invoiceNumber}</title>
                <style>
                    /* أنماط عامة للعرض في النافذة */
                    body {
                        margin: 0;
                        padding: 10px;
                        width: 80mm;
                        font-family: 'Arial', sans-serif;
                        font-size: 12px;
                        text-align: center;
                        direction: rtl;
                        line-height: 1.2;
                    }
                    table {
                        width: 100%;
                        border-collapse: collapse;
                        margin: 10px 0;
                    }
                    th, td {
                        padding: 4px;
                        border-bottom: 1px dashed #000;
                        font-size: 12px;
                    }
                    .header, .footer {
                        margin: 5px 0;
                    }
                    h3 {
                        font-size: 14px;
                        margin: 5px 0;
                    }
                    p {
                        margin: 2px 0;
                    }
                    .logo {
                        width: 30mm;
                        height: 30mm;
                        margin: 5px auto;
                        display: block;
                    }

                    /* أنماط الطباعة */
                    @media print {
                        body {
                            margin: 0;
                            padding: 0;
                            width: 80mm;
                            font-size: 12px;
                        }
                        table {
                            width: 100%;
                        }
                        th, td {
                            padding: 2px;
                            font-size: 12px;
                        }
                        .header, .footer {
                            margin: 3px 0;
                        }
                        h3 {
                            font-size: 14px;
                        }
                        @page {
                            margin: 0;
                        }
                    }
                </style>
            </head>
            <body>
                <div class="header">
                    ${storeLogo ? `<img src="${storeLogo}" alt="Logo" class="logo" onerror="this.style.display='none'; console.error('Failed to load logo: ${storeLogo}');">` : ''}
                    <h3>${storeName}</h3>
                    <h3>فاتورة مرتجع البيع</h3>
                    <p>رقم الفاتورة: ${invoiceNumber}</p>
                    <p>التاريخ: ${date}</p>
                    <p>العميل: ${clientName}</p>
                    <p>المستخدم: ${userName}</p>
                </div>
                <table dir="rtl">
                    <thead>
                        <tr>
                            <th>الصنف</th>
                            <th>الكمية</th>
                            <th>السعر</th>
                            <th>الإجمالي</th>
                        </tr>
                    </thead>
                    <tbody>
                        ${itemsData.map(item => `
                            <tr>
                                <td>${item.name || 'غير محدد'}</td>
                                <td>${item.quantity || 0}</td>
                                <td>${(parseFloat(item.price) || 0).toFixed(2)}</td>
                                <td>${(parseFloat(item.total) || 0).toFixed(2)}</td>
                            </tr>
                        `).join('')}
                    </tbody>
                </table>
                <div class="footer" dir="rtl">
                    <p>الإجمالي: ${total} ج.م</p>
                    ${storePhone ? `<p>رقم الهاتف: ${storePhone}</p>` : ''}
                    ${storeAddress ? `<p>العنوان: ${storeAddress}</p>` : ''}
                </div>
            </body>
            </html>
        `);

        printWindow.document.close();
        printWindow.focus();

        // تأخير استدعاء الطباعة للتأكد من تحميل المحتوى
        setTimeout(() => {
            printWindow.print();
            setTimeout(() => {
                if (!printWindow.closed) {
                    printWindow.close();
                }
            }, 1000);
        }, 500); // تأخير 500 مللي ثانية
    }
</script>
</body>
</html>