<?php
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';

$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();

$state = $objectManager->get(\Magento\Framework\App\State::class);
$state->setAreaCode('adminhtml');

$connection = $objectManager->get(\Magento\Framework\App\ResourceConnection::class)->getConnection();

$maskedCartId = 'Na6CiXgKZBzM1Ixl4MMQbyNsVfGuuBnC';

// Get quote details
$sql = "SELECT 
    q.entity_id,
    q.is_active,
    q.reserved_order_id,
    q.created_at,
    q.updated_at,
    qm.quote_id
FROM quote q
JOIN quote_id_mask qm ON qm.quote_id = q.entity_id
WHERE qm.masked_id = :masked_id";

$quote = $connection->fetchRow($sql, ['masked_id' => $maskedCartId]);

if ($quote) {
    echo "Quote Details:" . PHP_EOL;
    echo "=============" . PHP_EOL;
    echo "Quote ID: " . $quote['entity_id'] . PHP_EOL;
    echo "Is Active: " . ($quote['is_active'] ? 'Yes' : 'No') . PHP_EOL;
    echo "Reserved Order ID: " . ($quote['reserved_order_id'] ?: 'None') . PHP_EOL;
    echo "Created: " . $quote['created_at'] . PHP_EOL;
    echo "Updated: " . $quote['updated_at'] . PHP_EOL;
    
    // Check for orders created from this quote
    echo PHP_EOL . "Orders from this quote:" . PHP_EOL;
    echo "======================" . PHP_EOL;
    
    $orderSql = "SELECT 
        entity_id,
        increment_id,
        state,
        status,
        created_at,
        customer_email,
        grand_total
    FROM sales_order
    WHERE quote_id = :quote_id
    ORDER BY created_at DESC";
    
    $orders = $connection->fetchAll($orderSql, ['quote_id' => $quote['entity_id']]);
    
    if ($orders) {
        foreach ($orders as $order) {
            echo PHP_EOL . "Order #" . $order['increment_id'] . PHP_EOL;
            echo "- Order ID: " . $order['entity_id'] . PHP_EOL;
            echo "- State: " . $order['state'] . PHP_EOL;
            echo "- Status: " . $order['status'] . PHP_EOL;
            echo "- Created: " . $order['created_at'] . PHP_EOL;
            echo "- Email: " . $order['customer_email'] . PHP_EOL;
            echo "- Total: " . $order['grand_total'] . PHP_EOL;
        }
        
        echo PHP_EOL . "Total orders placed: " . count($orders) . PHP_EOL;
    } else {
        echo "No orders found for this quote." . PHP_EOL;
    }
    
    // Check if quote should be inactive
    if ($quote['is_active'] && $orders) {
        echo PHP_EOL . "WARNING: Quote is still active but has " . count($orders) . " order(s)!" . PHP_EOL;
        echo "This is likely causing the 404 error as quotes should be deactivated after order placement." . PHP_EOL;
    }
}
