<?php
require_once __DIR__ . '/header.php';

$error = '';
$success = '';
$orderId = isset($_GET['id']) ? (int)$_GET['id'] : 0;

// จัดการการอัปเดตข้อมูลคำสั่งซื้อ
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['update_order'])) {
    $id = (int)$_POST['id'];
    $status = trim($_POST['status'] ?? '');
    $tracking_number = trim($_POST['tracking_number'] ?? '');

    if ($id > 0 && in_array($status, ['pending', 'paid', 'shipped', 'completed', 'cancelled'])) {
        try {
            $stmt = $pdo->prepare("UPDATE orders SET status = ?, tracking_number = ? WHERE id = ?");
            $stmt->execute([$status, $tracking_number, $id]);
            $success = "อัปเดตข้อมูลคำสั่งซื้อ #{$id} เรียบร้อยแล้ว";
            if ($orderId === $id) {
                $orderId = 0; // ปิดกล่องรายละเอียดเพื่อโหลดรายการอัปเดตใหม่
            }
        } catch (PDOException $e) {
            $error = 'ไม่สามารถอัปเดตสถานะคำสั่งซื้อได้: ' . $e->getMessage();
        }
    } else {
        $error = 'ข้อมูลสถานะไม่ถูกต้อง';
    }
}

// ดึงรายละเอียดคำสั่งซื้อเดี่ยวเมื่อเลือกดู
$orderDetails = null;
$orderItems = [];
if ($orderId > 0) {
    try {
        $stmt = $pdo->prepare("SELECT o.*, u.username, u.email FROM orders o JOIN users u ON o.user_id = u.id WHERE o.id = ?");
        $stmt->execute([$orderId]);
        $orderDetails = $stmt->fetch();
        
        if ($orderDetails) {
            $stmt = $pdo->prepare("SELECT oi.*, p.name FROM order_items oi JOIN products p ON oi.product_id = p.id WHERE oi.order_id = ?");
            $stmt->execute([$orderId]);
            $orderItems = $stmt->fetchAll();
        } else {
            $error = 'ไม่พบข้อมูลประวัติคำสั่งซื้อนี้';
        }
    } catch (PDOException $e) {
        $error = 'ไม่สามารถดึงข้อมูลรายการสินค้าในคำสั่งซื้อได้: ' . $e->getMessage();
    }
}

// ดึงคำสั่งซื้อทั้งหมด
$orders = [];
try {
    $stmt = $pdo->query("SELECT o.*, u.username FROM orders o JOIN users u ON o.user_id = u.id ORDER BY o.created_at DESC");
    $orders = $stmt->fetchAll();
} catch (PDOException $e) {
    $error = 'ไม่สามารถดึงข้อมูลคำสั่งซื้อทั้งหมดได้';
}
?>

<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem;">
    <div>
        <h1 style="font-size: 2.2rem; text-shadow: 0 0 10px var(--glow-red); color: var(--text-white);">การจัดการคำสั่งซื้อ</h1>
        <p style="color: var(--text-gray); font-size: 0.95rem;">ตรวจสอบสถานะการชำระเงิน การจัดส่ง และใส่เลขพัสดุลูกค้า</p>
    </div>
    <div>
        <?php if ($orderId > 0): ?>
            <a href="orders.php" class="btn-cyber btn-gray">&laquo; ปิดส่วนรายละเอียด</a>
        <?php endif; ?>
    </div>
</div>

<?php if ($error): ?>
    <div class="cyber-alert cyber-alert-error">
        <strong>[ข้อผิดพลาด]</strong> <?php echo htmlspecialchars($error); ?>
    </div>
<?php endif; ?>

<?php if ($success): ?>
    <div class="cyber-alert cyber-alert-success">
        <strong>[สำเร็จ]</strong> <?php echo htmlspecialchars($success); ?>
    </div>
<?php endif; ?>

<!-- ส่วนรายละเอียดคำสั่งซื้อเดี่ยว -->
<?php if ($orderDetails): ?>
    <div class="cyber-card" style="margin-bottom: 3rem; border-color: var(--neon-red); box-shadow: 0 0 20px var(--glow-light);">
        <div style="display: grid; grid-template-columns: 1.5fr 1fr; gap: 2rem;">
            <div>
                <h3 style="margin-bottom: 1.5rem; text-transform: uppercase;">&gt;_ รายละเอียดคำสั่งซื้อ #<?php echo $orderDetails['id']; ?></h3>
                
                <div style="margin-bottom: 1.5rem; font-size: 0.95rem;">
                    <p><strong>ชื่อลูกค้า:</strong> <?php echo htmlspecialchars($orderDetails['username']); ?> (<?php echo htmlspecialchars($orderDetails['email']); ?>)</p>
                    <p><strong>วันที่สั่งซื้อ:</strong> <?php echo $orderDetails['created_at']; ?></p>
                    <p><strong>ที่อยู่สำหรับจัดส่ง:</strong></p>
                    <div style="background: rgba(0,0,0,0.3); padding: 1rem; border-radius: 6px; border: 1px solid var(--border-color); margin-top: 0.5rem; font-family: monospace; white-space: pre-wrap;"><?php echo htmlspecialchars($orderDetails['shipping_address']); ?></div>
                </div>

                <h4 style="margin-top: 2rem; margin-bottom: 0.75rem; text-transform: uppercase;">รายการสินค้าที่สั่งซื้อ</h4>
                <table class="cyber-table" style="background: transparent;">
                    <thead>
                        <tr>
                            <th>รายละเอียดสินค้า</th>
                            <th>จำนวน</th>
                            <th>ราคาต่อหน่วย</th>
                            <th>ราคารวม</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($orderItems as $item): ?>
                            <tr>
                                <td>
                                    <?php echo htmlspecialchars($item['name']); ?>
                                    <?php if (!empty($item['size'])): ?>
                                        <div style="font-size:0.85rem; color: var(--neon-red); font-weight: bold;">ไซส์เสื้อ: [ <?php echo htmlspecialchars($item['size']); ?> ]</div>
                                    <?php endif; ?>
                                </td>
                                <td>x<?php echo $item['quantity']; ?></td>
                                <td>฿<?php echo number_format($item['price'], 2); ?></td>
                                <td>฿<?php echo number_format($item['price'] * $item['quantity'], 2); ?></td>
                            </tr>
                        <?php endforeach; ?>
                        <tr style="font-weight: bold; background: rgba(255, 0, 85, 0.05);">
                            <td colspan="3" style="text-align: right; color: var(--text-white);">ราคารวมทั้งหมด:</td>
                            <td style="color: var(--neon-red); text-shadow: 0 0 5px var(--glow-light); font-size: 1.2rem;">$<?php echo number_format($orderDetails['total_amount'], 2); ?></td>
                        </tr>
                    </tbody>
                </table>
            </div>

            <!-- ส่วนควบคุมข้อมูลการจัดส่ง -->
            <div style="border-left: 1px solid var(--border-color); padding-left: 2rem;">
                <h3 style="margin-bottom: 1.5rem; text-transform: uppercase;">&gt;_ จัดการการจัดส่งสินค้า</h3>
                
                <!-- QR Code สแกนจ่าย / ตรวจสอบ -->
                <div style="background: rgba(0, 0, 0, 0.4); border: 1px solid var(--border-color); border-radius: 8px; padding: 1rem; text-align: center; margin-bottom: 1.5rem;">
                    <span style="font-size: 0.85rem; color: var(--text-gray); display: block; margin-bottom: 0.5rem;">📱 QR Code สำหรับชำระเงิน (PromptPay)</span>
                    <div style="background: #ffffff; display: inline-block; padding: 6px; border-radius: 6px;">
                        <img src="../assets/promptpay_qr.jpg" alt="PromptPay QR Code" style="width: 160px; max-width: 100%; height: auto; display: block; object-fit: contain;">
                    </div>
                    <div style="font-size: 0.85rem; color: var(--neon-green); margin-top: 0.4rem; font-weight: bold;">
                        ยอดออเดอร์: ฿<?php echo number_format($orderDetails['total_amount'], 2); ?>
                    </div>
                </div>

                <form action="orders.php?id=<?php echo $orderDetails['id']; ?>" method="POST">
                    <input type="hidden" name="id" value="<?php echo $orderDetails['id']; ?>">
                    
                    <div class="cyber-input-group">
                        <label class="cyber-label">สถานะการชำระเงินและจัดส่ง</label>
                        <select class="cyber-input" name="status" style="background-color: var(--bg-input);">
                            <option value="pending" <?php echo $orderDetails['status'] === 'pending' ? 'selected' : ''; ?>>Pending (รอดำเนินการ/รอชำระเงิน)</option>
                            <option value="paid" <?php echo $orderDetails['status'] === 'paid' ? 'selected' : ''; ?>>Paid (ชำระเงินแล้ว / เตรียมการจัดส่ง)</option>
                            <option value="shipped" <?php echo $orderDetails['status'] === 'shipped' ? 'selected' : ''; ?>>Shipped (จัดส่งแล้ว / ระหว่างนำส่ง)</option>
                            <option value="completed" <?php echo $orderDetails['status'] === 'completed' ? 'selected' : ''; ?>>Completed (เสร็จสิ้น / ได้รับสินค้าแล้ว)</option>
                            <option value="cancelled" <?php echo $orderDetails['status'] === 'cancelled' ? 'selected' : ''; ?>>Cancelled (ยกเลิกรายการ)</option>
                        </select>
                    </div>

                    <div class="cyber-input-group">
                        <label class="cyber-label">หมายเลขติดตามพัสดุ (Tracking Number)</label>
                        <input class="cyber-input" type="text" name="tracking_number" value="<?php echo htmlspecialchars($orderDetails['tracking_number'] ?? ''); ?>" placeholder="เช่น TH123456789EX">
                    </div>

                    <button type="submit" name="update_order" class="btn-cyber" style="width: 100%; margin-top: 1rem;">
                        บันทึกการจัดส่งและสถานะ
                    </button>
                </form>
            </div>
        </div>
    </div>
<?php endif; ?>

<!-- ตารางประวัติคำสั่งซื้อทั้งหมด -->
<div class="cyber-card">
    <h3 style="margin-bottom: 1.5rem; text-transform: uppercase;">&gt;_ ทะเบียนคำสั่งซื้อในระบบ</h3>
    <div class="table-responsive">
        <table class="cyber-table">
            <thead>
                <tr>
                    <th>รหัสคำสั่งซื้อ</th>
                    <th>ชื่อผู้ซื้อ</th>
                    <th>ยอดชำระสุทธิ</th>
                    <th>สถานะ</th>
                    <th>เลขพัสดุติดตาม</th>
                    <th>วันที่สั่งซื้อ</th>
                    <th style="text-align: right;">การจัดการ</th>
                </tr>
            </thead>
            <tbody>
                <?php if (empty($orders)): ?>
                    <tr>
                        <td colspan="7" style="text-align: center; color: var(--text-muted);">ไม่มีรายการบันทึกในระบบ</td>
                    </tr>
                <?php else: ?>
                    <?php foreach ($orders as $ord): ?>
                        <tr <?php echo ($orderId === $ord['id']) ? 'style="background: rgba(255, 0, 85, 0.05);"' : ''; ?>>
                            <td style="font-family: 'Orbitron', sans-serif;">#<?php echo $ord['id']; ?></td>
                            <td><?php echo htmlspecialchars($ord['username']); ?></td>
                            <td>$<?php echo number_format($ord['total_amount'], 2); ?></td>
                            <td>
                                <span class="badge badge-<?php echo strtolower($ord['status']); ?>">
                                    <?php echo $ord['status']; ?>
                                </span>
                            </td>
                            <td style="font-family: monospace; font-size: 0.95rem;">
                                <?php echo $ord['tracking_number'] ? htmlspecialchars($ord['tracking_number']) : '<span style="color: var(--text-muted);">ยังไม่มีเลขพัสดุ</span>'; ?>
                            </td>
                            <td style="font-size: 0.9rem;"><?php echo $ord['created_at']; ?></td>
                            <td style="text-align: right;">
                                <a href="orders.php?id=<?php echo $ord['id']; ?>" class="btn-cyber" style="padding: 0.4rem 0.8rem; font-size: 0.75rem; border-color: rgba(255,0,85,0.4); box-shadow: none;">จัดการออเดอร์ &raquo;</a>
                            </td>
                        </tr>
                    <?php endforeach; ?>
                <?php endif; ?>
            </tbody>
        </table>
    </div>
</div>

<?php
require_once __DIR__ . '/footer.php';
?>
